- 积分:21
- 财富值:2.0
- 身份:普通用户
删除工作簿所有pq查询链接:
Sub 删除查询()
Dim q
For Each q In ActiveWorkbook.Queries
q.Delete
Next
End Sub
遍历文件夹里所有工作簿的pq查询链接并删除
Sub 删除文件夹中所有工作簿的查询()
Dim 文件夹路径 As String
Dim 文件名 As String
Dim 工作簿 As Workbook
Dim 查询 As Object
Dim 连接 As WorkbookConnection
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "请选择包含Excel文件的文件夹"
If .Show = -1 Then
文件夹路径 = .SelectedItems(1)
Else
Exit Sub
End If
End With
文件名 = Dir(文件夹路径 & "\*.xls*")
Do While 文件名 <> ""
Set 工作簿 = Workbooks.Open(文件夹路径 & "\" & 文件名, ReadOnly:=False)
On Error Resume Next
For Each 查询 In 工作簿.Queries
查询.Delete
Next 查询
On Error GoTo 0
For Each 连接 In 工作簿.Connections
连接.Delete
Next 连接
工作簿.Close SaveChanges:=True
文件名 = Dir
Loop
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
MsgBox "文件夹中的所有Power Query查询已删除", vbInformation
End Sub
已写入删除pq的宏代码,亲测可用
- 积分:21
- 财富值:2
- 身份:普通用户
Dim 文件夹路径 As String
Dim 文件名 As String
Dim 工作簿 As Workbook
Dim 查询 As Object
Dim 连接 As WorkbookConnection
Dim 文件计数 As Integer, 总文件数 As Integer
Application.ScreenUpdating = False
Application.DisplayStatusBar = True
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "请选择包含Excel文件的文件夹"
If .Show = -1 Then
文件夹路径 = .SelectedItems(1)
Else
Exit Sub
End If
End With
文件名 = Dir(文件夹路径 & "\*.xls*")
总文件数 = 0
Do While 文件名 <> ""
总文件数 = 总文件数 + 1
文件名 = Dir
Loop
文件名 = Dir(文件夹路径 & "\*.xls*")
文件计数 = 0
Do While 文件名 <> ""
文件计数 = 文件计数 + 1
Application.StatusBar = "处理文件 " & 文件计数 & " / " & 总文件数
Set 工作簿 = Workbooks.Open(文件夹路径 & "\" & 文件名, ReadOnly:=False)
On Error Resume Next
For Each 查询 In 工作簿.Queries
查询.Delete
Next 查询
For Each 连接 In 工作簿.Connections
连接.Delete
Next 连接
On Error GoTo 0
工作簿.Close SaveChanges:=True
文件名 = Dir
Loop
Application.ScreenUpdating = True
Application.DisplayStatusBar = False
MsgBox "文件夹中的所有Power Query查询已删除", vbInformation
End Sub