3

ユーザーがそこからドライブを選択できるように、デフォルトでExcelの保存と開くダイアログボックスを「マイコンピューター」に開くようにしようとしています。

任意のドライブまたはドキュメントなどの任意のパスを開くためのダイアログ ボックスがありますが、自分のコンピューターで開く方法が見つからないようです。

これは私が現在使用しているコードであり、既知のパスに対しては正常に機能します:

MsgBox objFolders("desktop")
ChDrive objFolders("desktop")
ChDir objFolders("desktop")

strFileName = appRemoteApp.Workbooks("Export Template.xlsm").Application.GetSaveAsFilename(objFolders("desktop") & "\Replica Export " & UserName & " " & Format(Date, "yymmdd") & ".xlsm", FileFilter:="Excel Macro Enabled Workbook (*.xlsm), *.xlsm,")     

また、このサイトからこれを見つけました。

Windowsエクスプローラーのアドレスバーに貼り付ける::{20D04FE0-3AEA-1069-A2D8-08002B30309D}と、私のコンピューターに移動しますが、これをVBAコードで使用すると

ChDir "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"

ディレクトリか何かが見つからないと言っています。したがって、これまたは何かに対する回避策があるかどうかはわかりません。

これも機能しませんでした:

ChDir "C:\WINDOWS\explorer.exe /root,,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}" 

ダイアログ ボックスをコンピューターで開く必要があるのは、RemoteApp とリモート デスクトップを介してアクセスできる Windows サーバーで Excel ドキュメントをホストするためです。ユーザーは、サーバーのドライブやフォルダーなどへのアクセス (権限) を持たず、マップされ、サーバーの「マイ コンピューター」フォルダーの下に表示されるローカル マシン上の自分のドライブにのみアクセスできます。語。サーバー上のマスター ドキュメントは、VBA コードを使用してレプリカを生成し、ユーザーのローカル ハード ドライブに保存されます。

4

3 に答える 3

3

GetSaveAsFilenameまたは同様のダイアログを使用してComputerまたはMy Computerで開く方法がわかりません。

VB スクリプトを使用して、ユーザーにフォルダーを選択するように求めることができます。表示されるルートはコンピュータで、ユーザーはフォルダを選択できます。ファイルは、プログラムで選択したフォルダーに保存できます。

Sub Test()

    MsgBox BrowseForFolder(MyComputer)

End Sub

http://technet.microsoft.com/library/ee176604.aspx

Function MyComputer() As Variant

Dim objShell As Object, objFolder As Object

    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.Namespace(&H11&)
    MyComputer = objFolder.self.Path
    Set objShell = Nothing
    Set objFolder = Nothing

End Function

http://www.vbaexpress.com/kb/getarticle.php?kb_id=405

Function BrowseForFolder(Optional OpenAt As Variant) As Variant

Dim ShellApp As Object

    Set ShellApp = CreateObject("Shell.Application"). _
    BrowseForFolder(0, "Please choose a folder", 0, OpenAt)

    On Error Resume Next
    BrowseForFolder = ShellApp.self.Path
    On Error GoTo 0

    Set ShellApp = Nothing

End Function
于 2013-11-12T13:38:58.430 に答える
0
.InitialFileName = "Computer"

私のために働くFileDialog(msoFileDialogFolderPicker)

Windows Vista - Excel 2007 でテスト済み

于 2015-09-03T16:33:17.257 に答える