VBA Excel错误438尝试在另一台PC上运行宏时

时间:2018-04-20 10:48:36

标签: excel vba excel-vba

  

运行时错误438:对象不支持此属性或方法

我创建了一个自动创建查询的宏,代码在我的Excel(Excel 2016)以及同事的PC上运行良好,但它在第三位同事的PC上不起作用(我的猜测是excel版本,但我不知道他是否使用其他版本)

System.out.println(DateTimeFormatter.ISO_DATE_TIME.format(LocalDateTime.now()));

我删除了格式化查询的公式部分。继续代码:

Dim Datei2 As String

Datei2 = Application.ThisWorkbook.Path & "\NameofFile.csv"

Application.ThisWorkbook.Queries.Add Name:="QueryName", _
    Formula:= _
    "let" & Chr(13) & "" & Chr(10) & "    Quelle = Csv.Document(File.Contents(""" & Datei2 & """),

调试器标记整个事物,从Application.ThisWorkbook.Worksheets.Add With Application.ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _ "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=""NameofQuery"";Extended Properties=""""" _ , Destination:=Range("$A$1")).QueryTable .CommandType = xlCmdSql .CommandText = Array("SELECT * FROM [NameOfQuery]") .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .PreserveColumnInfo = True .ListObject.DisplayName = "NameOfQuery" .Refresh BackgroundQuery:=False End With Application.ActiveSheet.Name = "NameOfFile" End Sub 等到公式的末尾,就在Application.ThisWorkbook之前

编辑:我在使用Excel 2013的其他PC上测试了它,问题似乎是Excel 2016之前的所有旧版本都不支持通过.csv导入数据。在Excel 2016中,有一个专门用于通过.csv导入数据的按钮,而在Excel 2013中,此按钮不存在。如何将代码转换为旧版本?

提前感谢您的回答!

0 个答案:

没有答案