我正在尝试用数百张图片路径转换到html页面的电子表格。例如:
excel sheet
imageId imagePath
1 images/ima1
2 images/ima2
3 images/ima3
... .........
... ........
是否有更快的方法将这些图像转换为html文件而不是逐个输入?
我需要的html文件如下:
<img src=images/ima1 title='ima1' />
<img src=images/ima2 title='ima2' />
<img src=images/ima3 title='ima3' />
感谢您的帮助。
答案 0 :(得分:1)
我会在下一栏中创建一个公式。假设images / ima1在B2中,那么你可以将它放入C2中以获得你想要的东西然后粘贴公式。
="<img src="&B2&" title='"&RIGHT(B2,LEN(B2)-4)&"' />"
答案 1 :(得分:1)
有几种方法可以做你想做的事。
1。在另一个工作表上,创建一个公式,该公式将从第一个工作表中获取信息并生成所需的HTML。
="<img src=" & CHAR(34) & INDIRECT("Sheet1!B" &ROW()) & CHAR(34) & " title=" & CHAR(34) & INDIRECT("Sheet1!A" & ROW()) & " />"
假设您的数据在Sheet1上,则第二张表格中的每一行(包含该公式)将包含Sheet1上同一行的html。 (如果不相同,则需要调整工作表名称和列)
执行此操作后,您可以复制并粘贴第二张纸中的所有内容。
2。使用宏来生成文件。
Public Sub GenerateHTML()
Dim Handle As Integer
Dim Sheet As Worksheet
Dim Row As Integer
Set Sheet = ThisWorkbook.ActiveSheet
Row = 2
Handle = FreeFile()
Open "output.html" For Output As Handle
Print #Handle, "<html>" & vbNewLine & "<head>" & vbNewLine & "<title>My Gallery...</title>" & vbNewLine & "</head>" & vbNewLine & "<body>"
Do
If Sheet.Cells(Row, 1) = "" Then
Exit Do
Else
Print #Handle, "<img src=" & Chr(34) & Sheet.Cells(Row, 2) & Chr(34) & " title=" & Chr(34) & "ima" & Sheet.Cells(Row, 1) & Chr(34) & "/>"
Row = Row + 1
End If
Loop
Print #Handle, "</body>" & vbNewLine & "</html>"
Close #Handle
End Sub
此示例将在与包含所有链接的电子表格相同的目录中创建一个html文件。你需要调整它以满足你的需要,因为它可能不太正确。