Я записал макрос. Он работает на компьютере, на котором я его записал (Windows 10, Office 365 Pro)
Мне нужна рабочая тетрадь для передачи. Когда я отправляю рабочую книгу другим, они получают:
Ошибка времени выполнения '438': объект не поддерживает это свойство или метод
Я пробовал это в 2010 году и на другой копии 365. Оба возвращают ошибку.
Макрос должен получать информацию о партнерах для команд MLB с веб-сайта:
https://en.wikipedia.org/wiki/South_Atlantic_League
Вот мой код:
ActiveWorkbook.Queries.Add Name:="Current teams[edit]", Formula:= _
"let" & Chr(13) & "" & Chr(10) & " Source = Web.Page(Web.Contents(""https://en.wikipedia.org/wiki/South_Atlantic_League""))," & Chr(13) & "" & Chr(10) & " Data1 = Source{1}[Data]," & Chr(13) & "" & Chr(10) & " #""Changed Type"" = Table.TransformColumnTypes(Data1,{{""Division"", type text}, {""Team"", type text}, {""MLB Affiliation"", type text}, {""City"", type text}, {""Stadium"", type text}, {""Capacity"", type number}})," & Chr(13) & "" & Chr(10) & " #""Reordere" & _
"d Columns"" = Table.ReorderColumns(#""Changed Type"",{""MLB Affiliation"", ""Team"", ""Division"", ""City"", ""Stadium"", ""Capacity""})," & Chr(13) & "" & Chr(10) & " #""Removed Columns"" = Table.RemoveColumns(#""Reordered Columns"",{""Division"", ""City"", ""Stadium"", ""Capacity""})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & " #""Removed Columns"""
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
"OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=""Current teams[edit]"";Extended Properties=""""" _
, Destination:=Range("$O$9")).QueryTable
.CommandType = xlCmdSql
.CommandText = Array("SELECT * FROM [Current teams[edit]]]")
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.ListObject.DisplayName = "Current_teams_edit"
.Refresh BackgroundQuery:=False
End With
Range("Current_teams_edit").Select
Selection.Copy
Range("A35").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-9
Range("M2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-11],R34C[-12]:R49C[-10], 2, FALSE)"
Range("M3").Select
ActiveWindow.SmallScroll Down:=-6
Range("M2").Select
Selection.AutoFill Destination:=Range("M2:M31"), Type:=xlFillDefault
Range("M2:M31").Select
Columns("O:O").Select
Selection.Delete Shift:=xlToLeft
Selection.Delete Shift:=xlToLeft
ActiveWindow.SmallScroll Down:=-18
Range("M2:M31").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=6
Range("A34:C49").Select
Application.CutCopyMode = False
Selection.ClearContents
ActiveWindow.SmallScroll Down:=-24
Range("A1").Select
ActiveWorkbook.Queries("Current teams[edit]").Delete
Эта строка выделена:
ActiveWorkbook.Queries.Add Name:="Current teams[edit]", Formula:= _
"let" & Chr(13) & "" & Chr(10) & " Source = Web.Page(Web.Contents(""https://en.wikipedia.org/wiki/South_Atlantic_League""))," & Chr(13) & "" & Chr(10) & " Data1 = Source{1}[Data]," & Chr(13) & "" & Chr(10) & " #""Changed Type"" = Table.TransformColumnTypes(Data1,{{""Division"", type text}, {""Team"", type text}, {""MLB Affiliation"", type text}, {""City"", type text}, {""Stadium"", type text}, {""Capacity"", type number}})," & Chr(13) & "" & Chr(10) & " #""Reordere" & _
"d Columns"" = Table.ReorderColumns(#""Changed Type"",{""MLB Affiliation"", ""Team"", ""Division"", ""City"", ""Stadium"", ""Capacity""})," & Chr(13) & "" & Chr(10) & " #""Removed Columns"" = Table.RemoveColumns(#""Reordered Columns"",{""Division"", ""City"", ""Stadium"", ""Capacity""})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & " #""Removed Columns"""