Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 如何存储表';通过unicode编码的dbf格式excel工作表的范围?_Vba_Excel_Dbf_Dbase - Fatal编程技术网

Vba 如何存储表';通过unicode编码的dbf格式excel工作表的范围?

Vba 如何存储表';通过unicode编码的dbf格式excel工作表的范围?,vba,excel,dbf,dbase,Vba,Excel,Dbf,Dbase,我正在使用Excel2010,需要通过unicode编码在dbf中存储一系列表。 我试着吼叫: Workbook.SaveAs FileName:="test.dbf", FileFormat:=xlDBF4, CreateBackup:=False 但是得到了错误 如何做到这一点?您可能需要研究如何使用Scripting.FileSystemObject(fso),因为使用unicode在文件编码方式上存在细微差异,而使用fso可以提供更多控制。例如,在我的一个项目中,我需要将文件保存为纯u

我正在使用Excel2010,需要通过unicode编码在dbf中存储一系列表。 我试着吼叫:

Workbook.SaveAs FileName:="test.dbf", FileFormat:=xlDBF4, CreateBackup:=False
但是得到了错误


如何做到这一点?

您可能需要研究如何使用Scripting.FileSystemObject(fso),因为使用unicode在文件编码方式上存在细微差异,而使用fso可以提供更多控制。例如,在我的一个项目中,我需要将文件保存为纯utf-8而不是utf-8-bom。默认行为是将文件另存为utf-8-bom,这意味着在文件的开头有3个隐藏字符,称为字节顺序标记(bom)。在下面的代码中,在将文件保存为纯utf-8之前,通过复制到新流来删除这3个字符

Dim fso As Scripting.FileSystemObject, stream1 As Stream, stream2 As Stream
Sub saveFileAfterRemovingBOM(path As String)
stream1.Position = 3 'skip BOM (byte order mark)
Set stream2 = CreateObject("ADODB.Stream")
 With stream2
  .Type = adTypeBinary
  .Mode = adModeReadWrite
  .Open
  stream1.CopyTo stream2
  stream1.Flush
  stream1.Close
  .SaveToFile path, adSaveCreateNotExist 'creates the file if it doesn't exist
  .Flush
  .Close
 End With
End Sub
Stream&Scripting.FileSystemObject需要在VBE中添加引用,如下所示:Microsoft脚本运行时和Microsoft ActiveX数据对象库(从2016年10月起为v6.1版)。要在VBE中添加这些,请使用工具-->引用


请注意
dbf
。如何在上面进行开发,以便将
*.dbf
格式的范围导出为dbf格式?找不到
Microsoft ActiveX数据对象库(从2016年10月起的v6.1版)
。有
Microsoft ActiveX Data Objects 2.0库
Microsoft ActiveX Data Objects 2.8库
。应该激活哪个库?我刚刚检查了使用这些库的项目,它们都出现在列表中。我在回答的末尾添加了一个屏幕截图。我使用的是Office 365和Windows 10。不知道你为什么没看到这些。