繁体   English   中英

创建共享文件的通用路径

[英]Create a general path for shared file

我正在尝试使用文件对话来选择文件并将其保存到文件夹,但是我不知道如何编写文件夹路径并不断出现“找不到路径错误”,我根本不是编码员,所以请用简单的英语解释:)

以下是我尝试使用但无法正常工作的代码。

ArchiveFolderPath = Environ("UserDomain") & "\" & Environ("username") & "\Desktop"

来自下面注释的完整子代码:

Sub CreateCopyFile(FilePathToCopy As String)
    Dim fso As Scripting.FileSystemObject
    Dim FileToCopy As Scripting.File
    Dim ArchiveFolderPath As String

    'Create a new folder path
    Set fso = New Scripting.FileSystemObject
    ArchiveFolderPath = Environ("UserProfile") & "\Desktop\Archive"

    'Create a new folder
    If Not fso.FolderExists(ArchiveFolderPath) Then
        fso.CreateFolder ArchiveFolderPath
    End If

    Set FileToCopy = fso.GetFile(FilePathToCopy)
    FileToCopy.Copy ArchiveFolderPath & "\" & FileToCopy.name
    Set fso = Nothing
End Sub

尝试在单词“ Desktop”的末尾添加另一个反斜杠,并在路径的开头添加两个反斜杠。 像这样:

ArchiveFolderPath = "\\" & Environ("UserDomain") & "\" & Environ("username") & "\Desktop\"

您需要在Desktop末尾添加另一个\\ ,然后确保在保存时在文件名之后放置文件名。

因此看起来就像ArchiveFolderPath = Environ("UserDomain") & "\\" & Environ("username") & "\\Desktop\\"

您要寻找的某些内容将取决于操作系统。 在Windows 7中,存在一个公用桌面,该公用桌面可填充所有用户桌面,并具有相当开放的文件权限。 它位于:

c:\\ Users \\ Public \\ Desktop

如果那是您想要放东西的地方,那么您的代码就是其中之一,

ArchiveFolderPath = "c:\Users\Public\Desktop"
ArchiveFolderPath = Environ("PUBLIC") & "\Desktop"

如果您要指向当前用户的桌面,则将是其中之一,

ArchiveFolderPath = "c:\Users\" & Environ("USERNAME") & "\Desktop"
ArchiveFolderPath = Environ("USERPROFILE") & "\Desktop"

您正在使用的环境变量(`Environ(“ USERDOMAIN”))通常指向工作组环境中的计算机名称,尽管在结构化Active Directory网络中可能会有所不同。

记住要尽可能使用环境变量,以避免系统操作版本之间的硬编码路径发生变化。 XP计算机的用户配置文件与Windows 7或Windows 8计算机不在同一位置。

获取当前会话中的环境变量列表的一种快速简便的方法是打开命令提示符窗口并键入SET然后按Enter

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM