Brute Asked: 2023-01-25 15:46:18 +0800 CST2023-01-25 15:46:18 +0800 CST 2023-01-25 15:46:18 +0800 CST 如何在Access 2010中更改Microsoft Office Soap Type Library的路径? 772 我在 Microsoft Share 文件夹中有 OFFICE14 和 OFFICE16。我有两个问题: 如您所见,路径中的最后几个词被删掉了。我怎么看这里的完整路径。 如何更改 MS Office Soap 类型库的路径。 完全被这个难住了,因为正如你所看到的,屏幕上没有很多选项可以编辑路径。 microsoft-office 2 个回答 Voted Best Answer Ramhound 2023-01-25T16:26:50+08:002023-01-25T16:26:50+08:00 如您所见,路径中的最后几个词被删掉了。我怎么看这里的完整路径。 您不能意图是使用浏览按钮并导航到文件夹。Office 14 是 Office 2010,Office 15 是 Office 2013,而 Office 2016-2021 是 Office 16(每个都是多个 office 16 构建版本)。 如何更改 MS Office Soap 类型库的路径。 删除列出的版本并使用浏览按钮添加不同的版本。如果您只安装了 Office 2010,则可能没有安装其他版本。 Señor CMasMas 2023-01-25T16:30:27+08:002023-01-25T16:30:27+08:00 首先,我会倾向于 Ramhound 在其他答案之一中的解释。这是不同的看法。 您关于编辑路径的问题毫无意义。这是一个 COM DLL 而不是您简单加载的文件。要更改路径,需要在其他地方重新注册此文件。此外,您到底为什么要首先这样做? 您所指的 Microsoft soap 库称为 MSSOAP30.DLL。 在我的机器上,它实际上位于“C:\Program Files\Microsoft Office\root\vfs\ProgramFilesCommonX64\Microsoft Shared\OFFICE16”,因为我有 64 位版本而不是 32 位版本。 Office 16 在路径方面做了很多花招。如果您查看“C:\Program Files\Microsoft Office\root\vfs”,您会看到许多文件夹在加载 office 组件时被“映射”为虚拟文件夹。因此,我认为即使重新注册 DLL 也不是一个好计划。它可能是无害的.. 事实上它应该是无害的.. 但我自己不会这样做,除非我愿意软管并且需要重新安装办公室。 请提供更多关于你正在尝试做什么的信息,这里的人可能会帮助你(甚至可能是我)。 现在,在说了所有这些之后,我将回答您的问题。 除非您知道自己在做什么,否则不要这样做!(而你没有) 如果您确实想引用一个不同的 DLL 而不是那个 DLL,您需要使用一个名为regsvr32.exe. Regsvr32 在 DLL 中查找名为“DLLRegisterServer”(用于注册)和“DLLUnRegisterServer”(用于删除)的入口点。它只是调用 DLL 中的函数以使用正确的路径设置注册表以使用该组件。 如果您尝试用不同版本替换一个 COM dll,您需要在旧版本上运行 UNregister,然后再在新版本上运行 register。 regsvr32 /u <path_to_old_dll> regsvr32 <path_to_new_dll> 执行 /u 的原因是因为函数 DLLRegisterServer 和 DLLUnRegisterServer只是代码,而不是某种自动化过程。旧的可能会留下新的不会破坏的东西。如果没有旧的……或者它被删除了,那么只注册新的而没有其他步骤的风险相当低。 您需要上一节 COM 课程才能理解这一点,它正变得越来越像一门失传的艺术。
您不能意图是使用浏览按钮并导航到文件夹。Office 14 是 Office 2010,Office 15 是 Office 2013,而 Office 2016-2021 是 Office 16(每个都是多个 office 16 构建版本)。
删除列出的版本并使用浏览按钮添加不同的版本。如果您只安装了 Office 2010,则可能没有安装其他版本。
首先,我会倾向于 Ramhound 在其他答案之一中的解释。这是不同的看法。
您关于编辑路径的问题毫无意义。这是一个 COM DLL 而不是您简单加载的文件。要更改路径,需要在其他地方重新注册此文件。此外,您到底为什么要首先这样做?
您所指的 Microsoft soap 库称为 MSSOAP30.DLL。
在我的机器上,它实际上位于“C:\Program Files\Microsoft Office\root\vfs\ProgramFilesCommonX64\Microsoft Shared\OFFICE16”,因为我有 64 位版本而不是 32 位版本。
Office 16 在路径方面做了很多花招。如果您查看“C:\Program Files\Microsoft Office\root\vfs”,您会看到许多文件夹在加载 office 组件时被“映射”为虚拟文件夹。因此,我认为即使重新注册 DLL 也不是一个好计划。它可能是无害的.. 事实上它应该是无害的.. 但我自己不会这样做,除非我愿意软管并且需要重新安装办公室。
请提供更多关于你正在尝试做什么的信息,这里的人可能会帮助你(甚至可能是我)。
现在,在说了所有这些之后,我将回答您的问题。
除非您知道自己在做什么,否则不要这样做!(而你没有)
如果您确实想引用一个不同的 DLL 而不是那个 DLL,您需要使用一个名为
regsvr32.exe
. Regsvr32 在 DLL 中查找名为“DLLRegisterServer”(用于注册)和“DLLUnRegisterServer”(用于删除)的入口点。它只是调用 DLL 中的函数以使用正确的路径设置注册表以使用该组件。如果您尝试用不同版本替换一个 COM dll,您需要在旧版本上运行 UNregister,然后再在新版本上运行 register。
执行 /u 的原因是因为函数 DLLRegisterServer 和 DLLUnRegisterServer只是代码,而不是某种自动化过程。旧的可能会留下新的不会破坏的东西。如果没有旧的……或者它被删除了,那么只注册新的而没有其他步骤的风险相当低。
您需要上一节 COM 课程才能理解这一点,它正变得越来越像一门失传的艺术。