访问共享网络文件夹

2023-11-21

我需要通过 VBA 访问网络文件服务器上托管的文件夹。该文件夹只能通过我有用户名和密码的服务帐户(与普通用户帐户不同)以书面形式访问。

通过 UI,我可以看到该文件夹​​并将其映射为本地驱动器,但为了以书面形式访问它,我需要从 Windows 注销并通过服务帐户登录。

有没有办法在正常用户会话期间访问网络文件夹,但在 VBA 代码中硬编码用户名和密码?

我确实尝试将文件夹映射为本地驱动器:

Set WshNetwork = CreateObject("WScript.Network")
WshNetwork.MapNetworkDrive "S:", "\\corp-server\HostingFolder", False, Username, pwd

但不起作用(“S”驱动器未映射)。如果我执行相同的操作但不提供用户名和密码:

Set WshNetwork = CreateObject("WScript.Network")
WshNetwork.MapNetworkDrive "S:", "\\corp-server\HostingFolder"

它工作得很好。

现在想知道我想做的事情是否真的可能?如果没有,还有其他选择吗?

Thanks


你可能会发现这个答案在您的测试中有价值。

本质上,我会检查几件事......

  1. Make sure you are not already connected to this resource using the current logged in user. If you are, you might get an error message like the following: enter image description here

  2. 确保您正在使用domain\username您的用户名中的语法。

否则我认为你是正确的道路。我根据上面的链接组合了一些示例代码,并能够成功连接到不同用户名下的网络共享并迭代文件列表。

(请注意,您实际上不必映射驱动器来建立连接。)

以下代码是对列出的示例的非常快速(有效)的 VBA 实现从 VBScript 中访问网络共享,例如 FileSystemObject

Public Sub TestNetShareName()

    Dim NetworkObject As Object
    Dim FSO As Object
    Dim Directory As Object
    Dim Filename As Object
    Dim ServerShare As String
    Dim UserName As String
    Dim Password As String

    ServerShare = "\\corp-server\HostingFolder"
    UserName = "mydomain\myuser"
    Password = "freddie123"

    Set NetworkObject = CreateObject("WScript.Network")
    Set FSO = CreateObject("Scripting.FileSystemObject")

    NetworkObject.MapNetworkDrive "", ServerShare, False, UserName, Password

    Set Directory = FSO.GetFolder(ServerShare)
    For Each Filename In Directory.Files
        Debug.Print Filename.Name
    Next

    Set Filename = Nothing
    Set Directory = Nothing
    Set FSO = Nothing

    NetworkObject.RemoveNetworkDrive ServerShare, True, False

    Set NetworkObject = Nothing

End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

访问共享网络文件夹 的相关文章

  • Excel 在“.xls”中发现不可读的内容。同时导出水晶报表到excel

    我正在将数据从 Crystal 报告导出到 PDF 工作正常 并显示所有记录 但是当我将其导出到 Excel 文件中并成功导出时 以及当我在 Excel 中打开它时给出错误消息 文件错误 数据可能已丢失 当我点击 确定 按钮时 在 Exce
  • VBA 访问:从另一个表单的代码刷新一个表单

    编辑 没关系有人帮助了我 form name recalc 或 form name refresh form main recalc 我有两种形式 主要 详细信息 在 主 表单中 我有一个在对话框中打开 详细信息 的按钮 问题是我在 详细信
  • 将包含换行符的文本文件导入到 Excel 中

    我有一个纯文本文件 如下所示 some text containing line breaks 我正在尝试说话excel 2004 Mac v 11 5 正确打开此文件 我希望只看到一个单元格 A1 包含上述所有内容 不带引号 但可惜的是
  • 标准 VBA 函数“找不到项目或库”

    因此 我必须在我的 PC 上运行别人的 Excel 应用程序 并且在标准函数 如日期 格式 十六进制 中间等 上收到 找不到项目或库 的信息 一些研究表明 如果我在这些函数前加上 VBA 前缀 如 VBA Date 中那样 它会正常工作 网
  • 让 MongoDB 在 Linux 上监听远程连接

    我已在 Windows 本地计算机上 上成功安装 MongoDB 作为服务 但现在我想将 MongoDb 移动到单独的服务器 所以我将 tarball 解压到网络上的虚拟服务器 运行 Linux 当我从本地计算机使用 PuTTY 连接到服务
  • 使用 VBA 通过简单命令从非连续范围的并集获取值到数组中(无循环)

    我有以下任务 表面上很简单 使用 VBA 将电子表格上多个列的值复制到二维数组中 为了让生活更有趣 这些柱子并不相邻 但它们的长度都相同 显然 可以通过依次循环每个元素来做到这一点 但这看起来非常不优雅 我希望有一个更紧凑的解决方案 但我很
  • 如何在不滚动的情况下截取整个电子邮件正文?

    我正在使用 OL2010 想要制作整个电子邮件的屏幕截图 不仅仅是 屏幕 可以用VBA或者外部程序来完成吗 有一个类似的问题 https stackoverflow com questions 4176340关于如何使用 C 实现这一点 注
  • 如何使用Matlab将数据保存到Excel表格中?

    我想将数据以表格形式保存在 Excel 工作表中 它应该看起来像 Name Age R no Gpa Adnan 24 18 3 55 Ahmad 22 12 3 44 Usman 23 22 3 00 每次当我执行我的文件时类数据 m 下
  • 查找并替换目录中所有 Excel 文件工作簿中的字符串

    我正在编写 VBA 代码来替换位于特定目录中的多个 Excel 文件 工作簿 中的特定字符串 我尝试在 Stack Overflow 上搜索 找到答案 但这与通过 Excel 中的宏替换文本文件中的字符串有关 相同的链接是查找并替换文件中的
  • 如何使用 VBA 将 mm/dd/yyyy 更改为 dd/mm/yyyy

    我在使用 VBA 将 mm dd yyyy 转换为 dd mm yyyy 日期格式时遇到问题 我有一个这样的表 仅供参考 该表是从报告工具自动生成的 字符串操作 或任何 Excel 函数可以提供帮助吗 希望知道如何解决这个问题的人可以给我一
  • Excel VBA 过滤和复制粘贴数据

    给定一个数据集 假设有 10 列 在 A 列中我有日期 在 B 列中我有 我想仅过滤 A 列 2014 年的数据 B 列 ActiveSheet Range A 1 AR 1617 AutoFilter Field 5 Operator x
  • VBA根据单元格的值是否为零显示/隐藏行

    我有一个 Excel 工作表 我想根据另一个单元格中的值隐藏或取消隐藏某些行 简而言之 整个事情应该取决于单元格中的值C2 D2 E2 If C2 is blank我想rows 31 to 40被隐藏 如果是的话不为空 他们需要是visib
  • Vagrant - 使用私有接口时如何配置 vagrant ssh?

    我有一个包含 3 个虚拟机的多虚拟机 vagrantfile 设置 其中两个虚拟机的 NAT 网络接口已禁用 并且仅在内部接口上使用静态 IP 副作用是我无法再跑步vagrant ssh foo连接到虚拟机 mode ruby vi set
  • MS Access - 粘贴确认事件后

    当用户将记录直接粘贴到数据表子报表中时 是否可以在显示粘贴确认消息后捕获事件 我需要它能够在审计表中创建新记录时进行记录 通过捕获更新前 更新后和插入事件 我可以轻松创建已添加的记录集合 准备将详细信息插入审核日志 但是在所有这些事件触发后
  • 复制一张工作表上的静态范围,然后根据单元格中的单个值粘贴到另一张工作表中的动态范围

    我对这个问题分为三个部分 我在 Sheet1 A1 中有一个带有周数的单元格 我在 Sheet1 B1 F1 中有一个需要复制的静态范围 然后 我需要将该值粘贴到 Sheet2 中的动态范围中 偏移量为行的周数 这是我正在为我经常使用的工作
  • 互联网 RFC 数据包图中预期的位(不是字节)顺序是哪个

    我正在我的家庭有线网络上解析 ICMPv6 数据报 但在特定 RFC 中找不到对位排序约定的明确提及 多字节字段是网络顺序的 但是字节内的位又如何呢 机器是按字节寻址的 但网络硬件对位进行序列化 在图表中 8 位字段 左侧 的一位最终位于无
  • VBA 字符串 255 个字符限制

    我在使用 VBA 时遇到问题 并注意到它的字符串限制为 255 个字符 我实际上正在尝试通过 POST 发送 JSON 并暂停执行 我注意到该字符串始终只有 255 个字符 有没有办法调整字符串的大小或其他什么 我在这个问题上浪费了大约 6
  • 如何使用 xterm.js 创建基于 Web 的终端以 ssh 进入本地网络上的系统

    我偶然发现了这个很棒的图书馆xterm js https xtermjs org 这也是 Visual Studio Code 终端的基础 我有一个非常普遍的问题 我想通过基于网络的终端 不在网络中 可能位于 aws 服务器上 访问本地网络
  • 读取R中打开的Excel文件

    有没有办法将打开的Excel文件读入R 当Excel中打开一个excel文件时 Excel会对文件加锁 比如R中的read方法无法访问该文件 你能绕过这个锁吗 Thanks 编辑 这发生在带有原始 Excel 的 Windows 下 发生错
  • 使用 MID、LEN 和 FIND 函数提取单元格文本的某些部分?

    我有一份 Excel 作业 但我陷入了最后部分 我被要求使用 MID LEN 和 FIND 来提取单元格内的特定字符串 我非常了解每个人的工作方式 将这三者结合起来并让它们发挥作用是我遇到的问题 我需要将城市与地址的其余部分分开 然后将其显

随机推荐

  • .NET DropDownList SelectedIndexChange 事件在 IE 10 中未触发

    在 IE 10 中 当下拉列表所选项目发生更改时 不会发生任何情况 它不会回发 除下拉列表外 所有其他控件均有效 当我切换到 IE 10 兼容模式时 它似乎可以工作 斯科特 汉塞尔曼 Scott Hanselman 在他的博客上解释了这一点
  • 更改打印机默认纸张尺寸

    我在打印机上定义了几种自定义纸张尺寸 打印机设置为默认值 我需要能够选择其中一种格式作为默认格式 编程 C 解决方案是理想的 但命令行解决方案也可以 现在 我可以获得打印机上定义的纸张尺寸 名称 尺寸 列表 并且可以找出哪一个是默认的 为了
  • HTA 的;使用其他浏览器托管?

    如果微软使用 IE 作为 HTA 本地主机的方法 那么我可以使用任何其他浏览器吗 你不能 有一个类似的 Mozilla 项目名为XUL跑者 但 HTA 仅适用于 Internet Explorer 这两种技术不兼容 为了澄清这一点 HTA可
  • Stream.Dispose 是否总是调用 Stream.Close (和 Stream.Flush)

    如果我有以下情况 StreamWriter MySW null try Stream MyStream new FileStream asdf txt MySW new StreamWriter MyStream MySW Write bl
  • 如何使用 Spark 创建用于文本分类的 TF-IDF?

    我有一个格式如下的 CSV 文件 product id1 product title1 product id2 product title2 product id3 product title3 product id4 product ti
  • -fopenmp 提供什么预处理器定义?

    我有一些可以使用 或不使用 OpenMP 运行的代码 这取决于用户如何设置 makefile 如果他们想使用 OpenMP 运行 那么他们只需添加 fopenmp to CFLAGS and CXXFLAGS 我正在尝试确定可以使用什么预处
  • 统计:Python 中的组合

    我需要在 Python 中计算组合 nCr 但找不到执行此操作的函数math numpy or stat图书馆 类似以下类型的函数 comb calculate combinations n r 我需要可能的组合数量 而不是实际的组合 所以
  • 让 gprof 根据挂钟时间进行分析?

    我的理解是 默认情况下 gprof 会考虑 CPU 时间 有没有办法让它根据挂钟时间进行分析 我的程序执行大量磁盘 I O 因此它使用的 CPU 时间仅代表实际执行时间的一小部分 我需要知道磁盘 I O 的哪些部分占用最多时间 您可以使用以
  • 如何访问 R v3 中的 Windows COM 对象?

    前段时间 您曾经可以安装rcom在 R 中打包以使用 COM 脚本 例如 访问外部程序 不幸的是 它似乎已停产 包 rcom 已从 CRAN 存储库中删除 以前可用的版本可以从存档中获取 这取决于 statconnDCOM 它现在限制使用
  • C++ 中的 RESTful 客户端 API

    是否有任何可用的开源库可以在 C 中实现 RESTful Client 用于将 HTTP 请求解释为 REST 服务调用的库 我的要求是连接到 Amazon Web Services 并获取 C 中给定用户帐户可用的 EC2 实例列表 及其
  • 在Scheme中捕获宏

    使用定义捕获宏的最简单方法是什么define syntax or define syntax rule在球拍 作为一个具体的例子 这是一个简单的例子aif在 CL 风格的宏系统中 defmacro aif test if true opti
  • Chrome - 多个请求

    每当我使用 chrome 向我的 web 应用程序发送 GET 请求时 根据我的 apache 访问日志 两个相同的请求 并非总是如此 但大多数时候 我无法重现它 它不是针对 favicon 发送到服务器 尽管 chrome 开发工具中只显
  • 如何更改 ASP.NET Core 中本地开发的默认 SSL 证书?

    在 Linux 上运行本地 ASP NET Core 应用程序时 如何将自己的证书配置为 Kestrel 使用的 默认 证书 我知道我可以运行dotnet dev certs https命令生成新的开发证书 但这将生成新的自签名证书 我不想
  • distance Between() 返回的结果不准确?

    I use distanceBetween Location 类来计算两点之间的距离 如下所示 private float getDistanceInMiles GeoPoint p1 GeoPoint p2 double lat1 dou
  • 设置列名 ddply

    如何设置汇总数据的列名 library plyr ddply data col1 col2 nrow like in ddply data col1 col2 function x data frame number nrow x 也许您正
  • 如何在控件聚焦时持续显示工具提示?

    如何在控件聚焦时持续显示工具提示 我已经尝试了很多事情 但似乎没有任何效果 现在我有类似以下内容
  • Angular - 无法按工作进行 ng-repeat order

    我已经尝试了很多 ng repeat 和 orderBy 的例子 但我无法让我的 json 与它一起工作 div div div release environment id div div div 和 JSON f
  • 获取CPU/内存利用率的跨平台方法[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 寻找一个库或相当跨平台的方法来获取 C C 中的 CPU 利用率 内存利用率等 除了 getrusage 之外 我需要整个系统 而不是一个进程 我查
  • Data Studio 中的自定义查询出现无效日期错误

    我正在尝试在 Data Studio 中使用自定义查询 BigQuery 准备图表 但是 在使用 Data Studio 日期参数时出现无效日期错误 DS START DATE and DS END DATE 这是我的查询 SELECT c
  • 访问共享网络文件夹

    我需要通过 VBA 访问网络文件服务器上托管的文件夹 该文件夹只能通过我有用户名和密码的服务帐户 与普通用户帐户不同 以书面形式访问 通过 UI 我可以看到该文件夹 并将其映射为本地驱动器 但为了以书面形式访问它 我需要从 Windows