Excel 2010 将范围转换为 HTML
Excel 2010 Convert range to HTML
尝试将我在 Excel 2010 上的 table 转换为 HTML。想知道这是否可以用 VBA 完成,我是否可以让它在所需的单元格中吐出代码以便于复制和粘贴功能。
它要转换的 table 中会有公式,可以自动从其他页面提取信息来构建它。
我找到了解决这个问题的方法。我没有使用 vba 代码将选定的 运行ge 转换为 html,而是使用公式和一个 vba 代码选择了另一条路线。
我做的第一件事是制作一张 Sheet5,然后我从 table 中获取原始 html 数据,我试图复制并将其拆分,在我要输入的代码中打断新信息。我把每个块都粘贴到 A2-K2 中。然后我获取了我手动更改的信息并将其链接到我的 A4-K4 书中。 (这些使用的是指向我的日志页面上的单元格的链接,该链接随我所做的每个列表而变化)
在单元格 L2 中,我输入公式 =CONCATENATE(A2,A4,B2,B4,C2," ",C4,D2," ",D4,E2," ",E4,F2," ",F4,G2," ",G4,H2," ",H4,I2," ",I4,J2," ",J4,K2)
这获取了每一块原始 html 和我日志中的信息,并将其组合在一起显示完整的 html 代码。在我的日志 sheet 的单元格 C11 中,我输入 =Sheet5!$L
以在我的主页上显示 html 数据以复制并粘贴该值。
在此之后,我注意到 excel 会为已经引用的所有内容添加双引号,并为其他区域添加单引号。进行一些搜索后,我找到了一个代码,可以复制所选单元格的值,这样我就可以粘贴 html 代码而不用引号。这是我为此使用的宏。
Sub CopyCellContents()
Range("C11").Select
'create a reference in the VBE to Microsft Forms 2.0 Lib
Dim objData As New DataObject
Dim strTemp As String
strTemp = ActiveCell.Value
objData.SetText (strTemp)
objData.PutInClipboard
End Sub`
我 运行 遇到了用户定义数据的问题。为了解决这个问题,我不得不退出代码调试器,重新打开其中包含宏的模块,转到工具 < 参考,然后浏览并将 FM20.DLL
键入 "File name:"。否则我无法在可用参考资料中找到 Microsoft Forms 2.0 对象库。
我使用 Chip Pearsons 网站作为宏。 cpearson.com/excel/Clipboard.aspx
我将其分配给单元格 C11 旁边的按钮,现在当我单击它时,代码将不带引号复制到我的剪贴板。这并不完全符合我最初的计划,但结果正是我想要的。感谢您的帮助,希望这对其他人有所帮助。
这是我完成的一些屏幕截图。
这是我需要每个列表的代码。 Sheet5 是分解成单元格的原始数据。
http://i.stack.imgur.com/ATT1q.png
这是由这些公式创建的成品。还有我的日志页面和按钮。单击时,它会将框中的代码复制到右侧,不带引号。
http://i.stack.imgur.com/jh34N.png
整个传播 sheet 是我的杰作,随着不同的公式、宏、代码等不断增长...
尝试将我在 Excel 2010 上的 table 转换为 HTML。想知道这是否可以用 VBA 完成,我是否可以让它在所需的单元格中吐出代码以便于复制和粘贴功能。
它要转换的 table 中会有公式,可以自动从其他页面提取信息来构建它。
我找到了解决这个问题的方法。我没有使用 vba 代码将选定的 运行ge 转换为 html,而是使用公式和一个 vba 代码选择了另一条路线。
我做的第一件事是制作一张 Sheet5,然后我从 table 中获取原始 html 数据,我试图复制并将其拆分,在我要输入的代码中打断新信息。我把每个块都粘贴到 A2-K2 中。然后我获取了我手动更改的信息并将其链接到我的 A4-K4 书中。 (这些使用的是指向我的日志页面上的单元格的链接,该链接随我所做的每个列表而变化)
在单元格 L2 中,我输入公式 =CONCATENATE(A2,A4,B2,B4,C2," ",C4,D2," ",D4,E2," ",E4,F2," ",F4,G2," ",G4,H2," ",H4,I2," ",I4,J2," ",J4,K2)
这获取了每一块原始 html 和我日志中的信息,并将其组合在一起显示完整的 html 代码。在我的日志 sheet 的单元格 C11 中,我输入 =Sheet5!$L
以在我的主页上显示 html 数据以复制并粘贴该值。
在此之后,我注意到 excel 会为已经引用的所有内容添加双引号,并为其他区域添加单引号。进行一些搜索后,我找到了一个代码,可以复制所选单元格的值,这样我就可以粘贴 html 代码而不用引号。这是我为此使用的宏。
Sub CopyCellContents()
Range("C11").Select
'create a reference in the VBE to Microsft Forms 2.0 Lib
Dim objData As New DataObject
Dim strTemp As String
strTemp = ActiveCell.Value
objData.SetText (strTemp)
objData.PutInClipboard
End Sub`
我 运行 遇到了用户定义数据的问题。为了解决这个问题,我不得不退出代码调试器,重新打开其中包含宏的模块,转到工具 < 参考,然后浏览并将 FM20.DLL
键入 "File name:"。否则我无法在可用参考资料中找到 Microsoft Forms 2.0 对象库。
我使用 Chip Pearsons 网站作为宏。 cpearson.com/excel/Clipboard.aspx
我将其分配给单元格 C11 旁边的按钮,现在当我单击它时,代码将不带引号复制到我的剪贴板。这并不完全符合我最初的计划,但结果正是我想要的。感谢您的帮助,希望这对其他人有所帮助。
这是我完成的一些屏幕截图。
这是我需要每个列表的代码。 Sheet5 是分解成单元格的原始数据。
http://i.stack.imgur.com/ATT1q.png
这是由这些公式创建的成品。还有我的日志页面和按钮。单击时,它会将框中的代码复制到右侧,不带引号。 http://i.stack.imgur.com/jh34N.png
整个传播 sheet 是我的杰作,随着不同的公式、宏、代码等不断增长...