通过excel VBA以特定大小打开文件夹

时间:2016-10-13 15:29:46

标签: excel excel-vba vba

Goodafternoon all,

目前正在编写一个小仪表板,当单击其中一个按钮时,它将转到另一个选项卡并从服务器打开文件夹/窗口。问题是,它取决于先前打开的窗口,文件夹的大小将在屏幕上有多大。我想要这个静态(例如,当通过Windows资源管理器打开文件夹时,它应占用不超过屏幕的25%)。环顾四周,但是使用" activewindow"功能,我减少了excel文件的大小,而我只是想减小文件夹的大小。

Sub OpenFolderABB()
Dim MyFolder As String
MyFolder = "\\CAG\Project OEM\ABC"

这部分没问题。然后我要么有这条线,但我不能给出确切的大小(除了vb"正常/最小/最大化" Focus,要么填满整个屏幕,要么选择最后使用的尺寸或者只是在任务栏中显示它)

Call Shell("explorer.exe" & " " & "\\CAG\Project OEM\ABC")

或者这一行(它给出了MyFolder不是对象的错误)

ActiveWorkbook.FollowHyperlink MyFolder, vbNormalFocus
    With MyFolder
        .WindowState = xlNormal
        .Height = 75
        .Width = 125
        .ScrollColumn = 1
        .ScrollRow = 1
    End With

最后打开另一张纸。 (这当然有效)

Sheets("ABC").Activate
End Sub

提前致谢:)

1 个答案:

答案 0 :(得分:0)

打开文件的一种方法是使用标准的DialogBox:

        $(document).ready(function(){
            var urlHashValue = decodeURIComponent(window.location.hash.substring(1));
            var urlVariables = urlHashValue.match(/[A-Z][a-z|0-9]+/g);
            if(urlVariables.length >= 3){
                $("#type-select").val(urlVariables[0].toLowerCase());
                $("#duration-select").val(urlVariables[1].toLowerCase());
                $("#sc-select").val(urlVariables[2].toLowerCase());
            }
        });

(注意:如果$(document).ready(function(){ var urlHashValue = decodeURIComponent(window.location.hash.substring(1)); var urlVariables = urlHashValue.split('|'); if(urlVariables.length >= 3){ $("#type-select").val(urlVariables[0].toLowerCase()); $("#duration-select").val(urlVariables[1].toLowerCase()); $("#sc-select").val(urlVariables[2].toLowerCase()); } }); 失败,请尝试为服务器分配映射驱动器指示符)

DialogBox通常是全屏,但附带滚动条。如果需要,您可以重新调整DialogBox的大小............... Google

了解详情