excel通过VBA导出XML文件时候如何设定编码格式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel通过VBA导出XML文件时候如何设定编码格式相关的知识,希望对你有一定的参考价值。

表格已经映射了源,用VBA里的SaveAsXMLData导出为XML文件已经成功了,但是我想在导出的时候设置一下XML的编码格式(默认是UTF-8,我想给设置成gb18030),不知道怎么设置求高人指点。
VBA的导出代码:
sub export()
Dim xmlmap As String
Dim xmlfilepath As String

xmlfilepath = "d:\" & ActiveSheet.Name
xmlmap= ActiveSheet.listobjects(1).xmlmap.name

Dim objmaptoexport As xmlmap
set objmaptoexport = activeworkbook.xmlmaps(xmlmap)
if objmaptoexport.IsExportable then
ActiveWorkbook.SaveAsXMLData xmlfilepath , objmaptoexport
end if
end sub

参考技术A 原始的XML文件在哪?一般导出以后不用设置编码格式,除非你的导出结果有乱码

通过vba将特定的excel范围导出为jpeg

我是全新的。我想导出一个特定的excel范围作为jpeg,我使用vba。

我也生成了vba代码,但我有一个小问题:当我运行代码时,我在excel表中导出一个jpeg文件,但我想将它导出到资源管理器的特定路径。也许你可以帮忙:)

Option Explicit

Sub Range_To_Image()
  Dim objPict As Object, objChrt As Chart
  Dim rngImage As Range, strFile As String

  On Error GoTo ErrExit

  With Sheets("Tabelle1") 'Tabellenname - Anpassen!

    Set rngImage = .Range("A1:C20")

    rngImage.CopyPicture Appearance:=xlScreen, Format:=xlBitmap

    .PasteSpecial Format:="Bitmap", Link:=False, DisplayAsIcon:=False

    Set objPict = .Shapes(.Shapes.Count)

    strFile = "C:UsersdanielDesktopSales Reporthaus.jpg" 'Pfad und Dateiname für das Bild

    objPict.Copy

    Set objChrt = .ChartObjects.Add(1, 1, objPict.Width + 8, objPict.Height + 8).Chart

    objChrt.Paste
    objChrt.Export strFile
    objChrt.Parent.Delete
    objPict.Delete

  End With

  ErrExit:
  Set objPict = Nothing
  Set objChrt = Nothing
  Set rngImage = Nothing
End Sub
答案

这是宏的修改版本,只需将范围直接复制/粘贴到临时图表中即可导出。

Sub Range_To_Image()
  Dim objChrt As Chart
  Dim rngImage As Range
  Dim strFile As String

  On Error GoTo ErrExit

  With Sheets("Tabelle1") 'Tabellenname - Anpassen!

    Set rngImage = .Range("A1:C20")

    rngImage.CopyPicture Appearance:=xlScreen, Format:=xlBitmap

    strFile = "C:UsersdanielDesktopSales Reporthaus.jpg" 'Pfad und Dateiname für das Bild

    Set objChrt = .ChartObjects.Add(rngImage.Left, rngImage.Top, rngImage.Width, rngImage.Height).Chart

    With objChrt
        .Parent.Activate 'to avoid exporting an empty file
        .ChartArea.Format.Line.Visible = msoFalse 'remove border from chart
        .Paste
        .Export strFile
        .Parent.Delete
    End With

  End With

ErrExit:
  Set objChrt = Nothing
  Set rngImage = Nothing
End Sub

以上是关于excel通过VBA导出XML文件时候如何设定编码格式的主要内容,如果未能解决你的问题,请参考以下文章

关于将Excel导出成UTF-8编码的csv文件的问题?

通过EXCEL VBA 连接SAP系统后,导出打开的电子表格文件另存(不是系统自带的导出EXCEL表)

如何读取xml文件导出为excel文件

如何通过 Access VBA 正确访问 Excel 文件

用VBA将xml格式的excel另存为xlsx

如何在Excel表格中将系统导出的部门的代码,用公式或者vba转换成文字?