使用Excel VBA打开OneDrive上的文件

mi7gmzs6  于 2023-01-27  发布在  其他
关注(0)|答案(4)|浏览(687)

我有一个Excel文件(文件#1),我希望VBA代码在其中打开OneDrive上的一个文件(文件#2)。
许多人会使用文件#1,所以我希望它在后台打开文件#2。
我已经为文件#2创建了一个共享链接。通过此链接,任何人都可以访问该文件。
链接:https://1drv.ms/x/s!AmdCer05hKV4geAnbDaOSX9UrTfLHQ?e=5Pm7dL
如何通过文件#1中的VBA代码打开此文件#2?我希望在Excel中打开它,而不是Excel联机
我用了这个密码。

Set wb = Workbooks.Open("https://1drv.ms/x/s!AmdCer05hKV4geAnbDaOSX9UrTfLHQ?e=5Pm7dL")

当这一行代码运行时,Excel将关闭,并打开一个窗口,显示Microsoft错误报告。
它接着说
Microsoft Excel出现问题,我们对此造成的不便深表歉意。Microsoft Excel将尝试恢复您的工作,但最近的更改可能会丢失。

2o7dmzc5

2o7dmzc51#

请尝试以下操作:

Sub open_excel_from_one_drive()

sfilename = "https://1drv.ms/x/s!AmdCer05hKV4geAnbDaOSX9UrTfLHQ?e=5Pm7dL"
Set xl = CreateObject("Excel.Sheet")
Set xlsheet = xl.Application.Workbooks.Open(Filename:=sfilename, ReadOnly:=True)

End sub

上面的代码对我来说很好用,但是也许你应该把你的OneDrive路径改成这样:"https://yourcorp.sharepoint.com/sites/yoursite/Shared%20Documents/1stfolder/myfile.xlsx"
希望能有所帮助:)

nmpmafwu

nmpmafwu2#

如果我使用1drv.ms/...链接从VBA打开它(当我“共享”它时它提供给我),它会要求我输入一个Microsoft登录名/密码,但这不是我通常使用的Microsoft登录名。我从未找到正确的密码,而且该密码不可恢复。
我通过使用https://d.docs.live.net/...URL解决了这个问题,我在VBA窗口中使用了?ThisWorkbook.fullname。这个方法不需要询问登录名/密码,很可能使用Excel应用程序使用的帐户。

0yycz8jy

0yycz8jy3#

我结束了使用下面的,因为没有其他答案在这里工作。
ActiveWorkbook.FollowHyperlink Address:="https://1drv.ms/x/s!AmdCer05hKV4geAnbDaOSX9UrTfLHQ?e=5Pm7dL"

yebdmbv4

yebdmbv44#

这将允许您复制文件的清晰路径:

相关问题