0

我正在尝试将具有数百个图像路径的电子表格转换为 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' />

谢谢您的帮助。

4

2 回答 2

1

我将在下一列中创建一个公式。假设 images/ima1 在 B2 中,您可以将其放入 C2 中以获取您想要的内容,然后将公式粘贴下来。

 ="<img src="&B2&" title='"&RIGHT(B2,LEN(B2)-4)&"' />"
于 2012-07-31T01:16:09.973 回答
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 文件。您需要调整它以满足您的需要,因为它可能不太正确。

于 2012-07-31T01:27:21.390 回答