尝试使用Excel 2010上的表并将其转换为HTML。想知道这是否可以用VBA完成,如果我可以让它在所需的单元格中吐出代码以便于复制和放大。粘贴能力。
它要转换的表格中会有公式来自动从其他页面提取信息来构建它。
答案 0 :(得分:-1)
我找到了解决这个问题的方法。我没有使用vba代码将所选范围转换为html,而是使用公式和单个vba代码进行了替代路由。
我做的第一件事就是制作一张Sheet5,然后我从表格中获取原始的html数据,我试图复制并将它分开,在代码中放入断点我将输入新信息。我拿了每个块并粘贴在A2-K2中。然后我拿了手动更改的信息并将其链接到我在A4-K4中的书。 (这些是使用我的日志页面上的单元格链接,随着每个列表的变化而变化)
在Cell 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和来自我的日志的信息,并将它组合在一起显示完整的HTML代码。在我的日志表的单元格C11中,我将=Sheet5!$L$2
显示在我的主页上的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`
我遇到了用户定义数据的问题。为了解决这个问题,我不得不退出代码调试器,用其中的宏重新打开模块,转到Tools<然后引用浏览并将FM20.DLL
键入"文件名:"。否则,我在可用的参考资料中找不到 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
整个电子表格是我的主要作品,不断增长,不同的公式,宏,代码等......