Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.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
Office 365 Excel、vba之前版本将CSV文件另存为UTF8格式 子加载数据(WkSht作为工作表,DataSourceName作为字符串,MySQLTable作为字符串,Append作为字符串) 将CSVFile设置为字符串 WkSht.Cells.Replace“,”和“ CSVFile=“\\ant.domain.com\dept\Extracts\”&DataSourceName&“.csv” '将文件保存到桌面。 WkSht.选择 ThisWorkbook.SaveAs文件名:=CSVFile,文件格式:=xlCSVUTF8 连接打开“DSN=cobra2 '如果每次都要删除此表,请删除旧数据。 如果附加“Append”,则 连接执行“截断表”和MySQLTable 如果结束 '以高速在csv中加载新数据。 连接。执行“加载数据本地填充”&替换(CSVFile、“\”、“\\”&“”&)_ “入表”&MySQLTable&“_ “以“,”和结尾的字段”_ “以“\r\n”结尾的行”_ “忽略1行” 设置连接=无 端接头_Excel_Vba - Fatal编程技术网

Office 365 Excel、vba之前版本将CSV文件另存为UTF8格式 子加载数据(WkSht作为工作表,DataSourceName作为字符串,MySQLTable作为字符串,Append作为字符串) 将CSVFile设置为字符串 WkSht.Cells.Replace“,”和“ CSVFile=“\\ant.domain.com\dept\Extracts\”&DataSourceName&“.csv” '将文件保存到桌面。 WkSht.选择 ThisWorkbook.SaveAs文件名:=CSVFile,文件格式:=xlCSVUTF8 连接打开“DSN=cobra2 '如果每次都要删除此表,请删除旧数据。 如果附加“Append”,则 连接执行“截断表”和MySQLTable 如果结束 '以高速在csv中加载新数据。 连接。执行“加载数据本地填充”&替换(CSVFile、“\”、“\\”&“”&)_ “入表”&MySQLTable&“_ “以“,”和结尾的字段”_ “以“\r\n”结尾的行”_ “忽略1行” 设置连接=无 端接头

Office 365 Excel、vba之前版本将CSV文件另存为UTF8格式 子加载数据(WkSht作为工作表,DataSourceName作为字符串,MySQLTable作为字符串,Append作为字符串) 将CSVFile设置为字符串 WkSht.Cells.Replace“,”和“ CSVFile=“\\ant.domain.com\dept\Extracts\”&DataSourceName&“.csv” '将文件保存到桌面。 WkSht.选择 ThisWorkbook.SaveAs文件名:=CSVFile,文件格式:=xlCSVUTF8 连接打开“DSN=cobra2 '如果每次都要删除此表,请删除旧数据。 如果附加“Append”,则 连接执行“截断表”和MySQLTable 如果结束 '以高速在csv中加载新数据。 连接。执行“加载数据本地填充”&替换(CSVFile、“\”、“\\”&“”&)_ “入表”&MySQLTable&“_ “以“,”和结尾的字段”_ “以“\r\n”结尾的行”_ “忽略1行” 设置连接=无 端接头,excel,vba,Excel,Vba,当我试图对一个仅使用FileFormat:=xlCSV的MySQL 5.7实例执行conn时,上面的代码通常足以产生UTF8字符错误。我试图进行上述更改以确保UTF8编码符合性,但奇怪的是,我们找不到任何东西来替换错误 代码可能有什么问题?文件格式:=xlCSVUTF8 在Excel 2016单机版中当前不可用。它只在O365版本的Excel中可用,有些版本大约是build 16.0.7726您是否在第一个WkSht.Cells.Replace“,”,“或Replace(CSVFile,“\”,

当我试图对一个仅使用FileFormat:=xlCSV的MySQL 5.7实例执行conn时,上面的代码通常足以产生UTF8字符错误。我试图进行上述更改以确保UTF8编码符合性,但奇怪的是,我们找不到任何东西来替换错误

代码可能有什么问题?

文件格式:=xlCSVUTF8


在Excel 2016单机版中当前不可用。它只在O365版本的Excel中可用,有些版本大约是build 16.0.7726

您是否在第一个
WkSht.Cells.Replace“,”,“
Replace(CSVFile,“\”,“\”)
上收到错误?哦,对不起,如果我说它的错误在哪里可能会更好。当我按F8键时,它似乎在这个工作簿中出错。另存为文件名:=CSVFile,文件格式:=xlCSVUTF8;我想这可能是因为单元格替换时出现了错误,所以注释掉替换行会产生不同的错误。1004-应用程序定义或对象定义错误它可能是该行的
ThisWorkbook
部分-这取决于您运行代码的确切位置以及您实际打算保存的书籍。根据前面的选择,您可能希望将其替换为
ActiveWorkbook
。因此,xlCSVUTF8在Excel 2016 standalone中不可用。由于某些愚蠢的原因,它只能在O365版本中使用。您应该编辑标题以更准确地表示您遇到的问题,以便将来可以用相同的问题帮助其他人:)
Sub LoadData(WkSht As Worksheet, DataSourceName As String, MySQLTable As String, Append As String)

Dim CSVFile As String

WkSht.Cells.Replace ",", ""

CSVFile = "\\ant.domain.com\dept\Extracts\" & DataSourceName & ".csv"

'Save file to desktop.
WkSht.Select
ThisWorkbook.SaveAs Filename:=CSVFile, FileFormat:=xlCSVUTF8

Conn.Open "DSN=cobra2;"

'Delete old data if this table is to be wiped every time.
If Append <> "Append" Then
    Conn.Execute "TRUNCATE TABLE " & MySQLTable
End If

'Load new data in csv at high speed.
Conn.Execute "LOAD DATA LOCAL INFILE '" & Replace(CSVFile, "\", "\\") & "' " & _
             "INTO TABLE " & MySQLTable & " " & _
             "FIELDS TERMINATED BY ',' " & _
             "LINES TERMINATED BY '\r\n' " & _
             "IGNORE 1 LINES"

Set Conn = Nothing

End Sub