2

ボタンを押すと特定のフォルダを開くファイルがあります。このファイルを他のユーザーに配布するので、コードは次の目的で正しいディレクトリを参照する必要があります。

  1. フォルダーが既に存在するかどうかを確認し、存在する場合はフォルダーを開きます
  2. フォルダがまだ存在しない場合は作成し、作成後に開きます

これまでのところ、私のコードの関連セクションは次のとおりです。

If Dir("C:\Users\myUsername\Desktop\sampleFolder", vbDirectory) = "" Then
          MkDir "C:\Users\myUsername\Desktop\sampleFolder"
          retVal = Shell("explorer.exe C:\Users\myUsername\Desktop\sampleFolder", vbNormalFocus)
     Else
          retVal = Shell("explorer.exe C:\Users\myUsername\Desktop\sampleFolder", vbNormalFocus)
End If

私の主な問題は、ファイル パス「C:\Users__________\Desktop」に表示されるユーザーの実際のユーザー名を取得する方法がわからないことです。

これは正しい方法論ですか?自分のユーザー名をコードに挿入するとコードは機能しますが、ユーザー名を自動的に取得する方法がわからないため、コードはエンドユーザーにとって簡単です。

4

2 に答える 2

2

試す

Public Sub EnsureDesktopFolderExists(ByVal folderName As String)
    Dim path As String
    path = Environ$("USERPROFILE") & "\Desktop\" & folderName
    If Len(Dir(path, vbDirectory)) = 0 Then MkDir path
End Sub

VBA 環境

于 2016-08-22T22:00:37.137 に答える