`
发表于2024/9/23 11:28:16 楼主 
头像 等级:学有小成
积分:21
财富值:2.0
身份:普通用户

一个工作簿里的查询链接可以用vba删除,请问一个文件里的所有工作簿怎么删除了?



Sub 删除查询()
Dim q
For Each q In ActiveWorkbook.Queries
q.Delete
Next
End Sub 


这是删除一个工作簿所有的所有的PQ查询 ,请问我现在有一个文件夹里有N个工作簿的pq查询链接,请问是否可以全部删除


补充内容(2024/9/23 15:01:50):
希望方方格子更新后加入进去
你是最棒的
发表于 2024/9/23 11:29:06   
头像 等级:学有小成
积分:21
财富值:2
身份:普通用户
你是最棒的
发表于 2024/9/23 11:31:15   
头像 等级:学有小成
积分:21
财富值:2
身份:普通用户
https://www.bilibili.com/read/cv36410761/  这个是博主的操作,请问可否在方方格子上再优化?
你是最棒的
发表于 2024/9/23 11:42:48   
头像 等级:学有小成
积分:21
财富值:2
身份:普通用户

亲测删除工作簿可以,请问文件夹里是否可以?如果不行,是否可以把工作簿删除加进去?



http://file.ffcell.com/file/2024/0923/0923114245_0709.xlsx

你是最棒的
发表于 2024/9/23 14:58:30   最佳方案
头像 等级:学有小成
积分:21
财富值:2
身份:普通用户
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
你是最棒的
发表于 2024/10/29 15:25:44   
头像 等级:学有小成
积分:21
财富值:2
身份:普通用户
麻烦把这个帖子删除
你是最棒的

快速回复

目前不允许游客发表,请 登录 注册 后再发贴。