Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.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
Excel WorkBookQuery用户定义的类型未定义_Excel_Vba_Powerquery - Fatal编程技术网

Excel WorkBookQuery用户定义的类型未定义

Excel WorkBookQuery用户定义的类型未定义,excel,vba,powerquery,Excel,Vba,Powerquery,我正在尝试通过宏从powerquery加载windows剪贴板中的查询。但我无法测试它,因为我没有参考资料,也不知道如何猜测它是哪一个: Sub readClipboard() 'Tools -> References -> Microsoft Forms 2.0 Object Library 'of you will get a "Compile error: user-defined type not defined" Dim DataObj As New M

我正在尝试通过宏从powerquery加载windows剪贴板中的查询。但我无法测试它,因为我没有参考资料,也不知道如何猜测它是哪一个:

Sub readClipboard()
'Tools -> References -> Microsoft Forms 2.0 Object Library
'of you will get a "Compile error: user-defined type not defined"
Dim DataObj As New MSForms.DataObject
Dim S As String
Dim currentSheet As Worksheet
Dim qry As WorkbookQuery

Set currentSheet = Sheets.Add(After:=ActiveSheet)

DataObj.GetFromClipboard
S = DataObj.GetText

Set qry = ThisWorkbook.Queries.Add("Prueba", S, "Nose")

With currentSheet.ListObjects.Add(SourceType:=0, Source:= _
    "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=" & Query.Name _
    , Destination:=Range("$A$1")).QueryTable
    .CommandType = xlCmdDefault
    .CommandText = Array("SELECT * FROM [" & Query.Name & "]")
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .BackgroundQuery = True
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .PreserveColumnInfo = False
    .Refresh BackgroundQuery:=False
End With

End Sub

需要对“MSForms”库的引用。如果您临时将userform添加到VBA项目中,则引用将自动添加。您好,谢谢您的回答,但我已经遇到了这个问题,它并没有对此进行抱怨,但它无法识别的是WoorkBookQuery,而不是MsForms.DataObject您在使用Excel 2016吗?不,我正在使用office 2013I,我也知道该对象是在Excel 2016中引入的。奇怪的是,doco说2013年,所以现在我很困惑: