【问题标题】:Outputting Excel rows to a series of html files将 Excel 行输出到一系列 html 文件
【发布时间】:2018-08-02 19:35:50
【问题描述】:

Transistor1 提供的解决方案 here 非常完美,除了我面临的以下问题。

输出文件在 HTML 代码的开头和结尾包含引号 ("),如果引号已经存在,它还会添加一个额外的引号。

例如,此代码:<div style="background-color:rgba(0,0,0,0.2);padding:60px;">

变成这样:<div style=""background-color:rgba(0,0,0,0.2);padding:60px;"">

我不希望添加任何额外的引号,只希望文本保持原样。

请帮我解决这个问题。

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    一定是 FileSystemObject 中的 Write 方法在做这件事。 VBA 内置了文件写入能力,所以我不确定我是否理解使用 FSO 的好处。以下是我在 VBA 中的做法,它按预期处理引号。

    Public Sub ExportFile()
    
        Dim sFile As String, lFile As Long
        Dim rCell As Range
        Dim sFldr As String
    
        sFldr = Environ$("userprofile") & "\My Documents\"
    
        For Each rCell In Sheet1.UsedRange.Columns(1).Cells
            sFile = sFldr & rCell.Value & ".html"
            lFile = FreeFile
            Open sFile For Output As lFile
                Print #lFile, rCell.Offset(0, 1).Value
            Close lFile
        Next rCell
    
    End Sub
    

    【讨论】:

    • 我只是在我用来测试这个的数据上运行了@Transistor1 宏,我没有得到多余的引号,所以也许不是这样。
    • 非常感谢! :) 这对我有用。使用 Print 而不是 Write 解决了这个问题。很好的帮助!
    【解决方案2】:

    要将 Excel 数据转换为 HTML,请执行以下步骤。这些说明适用于 Excel 2016、2013、2010 和 2007 的所有“功能区”版本:

    在工作簿上,转到“文件”选项卡并单击“另存为”。 如果您只想导出部分数据,例如一系列单元格、数据透视表或图表,请先选择它。

    在“另存为”对话框中,选择以下选项之一: 网页(.htm;.html)。这会将您的工作簿或选择保存到网页并创建一个支持文件夹,该文件夹将存储页面的所有支持文件,例如图像、项目符号和背景纹理。

    单一文件网页 (.mht; .mhl)。这会将您的工作簿或所选内容保存到一个文件中,并将支持文件嵌入到网页中。

    【讨论】:

      猜你喜欢
      • 2011-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-30
      • 2012-08-05
      相关资源
      最近更新 更多