xiaojunru1992 2021-05-26 01:32
浏览 26

如何在excel vba里打开某路径,并按大小排序&以超大图标显示?

公司的盘里某路径(例如 D:\Image202101\ )下有许多图片, 现需要用excel vba 打开“”Image202101”文件夹,并按大小排序,且以超大图标显示。

现只会用shell “explorer.exe D:\Image202101\”, vbNormalFocus 打开文件夹,请问后面的排序+超大图标显示该如何实现?

求指点,感谢!

  • 写回答

1条回答 默认 最新

  • xiaojunru1992 2023-02-17 17:04
    关注

    chatGPT上的问答如下,正确性未知:
    问:
    如何在excel vba里打开某个文件夹window s窗口,并让窗口里的内容以超大图标方式显示?
    答:
    您可以使用以下的VBA代码来打开指定的文件夹窗口并设置其显示方式为超大图标:

    Sub OpenFolder()
        Dim folderPath As String
        
        ' 设置要打开的文件夹路径
        folderPath = "C:\Users\Username\Desktop"
        
        ' 创建Shell对象
        Set shell = CreateObject("Shell.Application")
        
        ' 打开文件夹窗口并设置其显示方式为超大图标
        shell.Explore folderPath
        shell.Windows(folderPath).Document.Folder.Options.ViewMode = 4
        
        ' 释放对象
        Set shell = Nothing
    End Sub
    

    在上面的代码中,您需要将folderPath变量设置为您要打开的文件夹的路径。代码中首先创建一个Shell对象,然后使用Explore方法打开指定路径的文件夹窗口,最后将其显示方式设置为超大图标模式。

    请注意,超大图标模式仅适用于Windows操作系统。如果您的VBA代码运行在其他操作系统上,可能需要更改此代码以适应该操作系统的文件夹显示方式。
    问:
    另外,如何让窗口里的内容按大小排序显示?
    答:
    要按文件大小对窗口内容进行排序,您可以将VBA代码中的ViewMode属性设置为5,这将把文件夹窗口显示为“详细信息”视图,并按文件大小排序。以下是更新后的VBA代码:

    Sub OpenFolder()
        Dim folderPath As String
        
        ' 设置要打开的文件夹路径
        folderPath = "C:\Users\Username\Desktop"
        
        ' 创建Shell对象
        Set shell = CreateObject("Shell.Application")
        
        ' 打开文件夹窗口并设置其显示方式为超大图标,并按文件大小排序
        shell.Explore folderPath
        shell.Windows(folderPath).Document.Folder.Options.ViewMode = 5
        shell.Windows(folderPath).Document.Folder.ApplyViewSettings
        
        ' 释放对象
        Set shell = Nothing
    End Sub
    

    在上面的代码中,我们将ViewMode属性设置为5,这将使窗口内容按文件大小排序。为了确保设置得到了应用,我们还调用了ApplyViewSettings方法。

    请注意,ApplyViewSettings方法只适用于Windows 7及更高版本。如果您的操作系统是Windows XP或更低版本,则无法使用此方法。在这种情况下,您可以尝试使用其他方法,例如使用SendKeys命令发送按键操作来模拟手动操作来实现更改窗口视图设置的目的。

    评论

报告相同问题?

悬赏问题

  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64
  • ¥15 iOS 自定义输入法-第三方输入法
  • ¥15 很想要一个很好的答案或提示
  • ¥15 扫描项目中发现AndroidOS.Agent、Android/SmsThief.LI!tr
  • ¥15 怀疑手机被监控,请问怎么解决和防止
  • ¥15 Qt下使用tcp获取数据的详细操作