Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 使用链接打开工作簿并使用它_Excel_Vba - Fatal编程技术网

Excel 使用链接打开工作簿并使用它

Excel 使用链接打开工作簿并使用它,excel,vba,Excel,Vba,在下面的代码中,我试图从另一个程序打开一个Excel文件并从中复制一个值。我使用FollowHyperlink命令成功地打开了该文件,但我无法引用该文件从中复制任何内容。似乎直到子文件的最后才真正打开该文件。有人知道我如何引用试图打开的Excel文件,以便从中复制值吗?我真的很想得到一些帮助或提示 以下是打开文件的代码: ActiveWorkbook.FollowHyperlink Address:="cdb://byname/classname/document/CDB_View/intera

在下面的代码中,我试图从另一个程序打开一个Excel文件并从中复制一个值。我使用FollowHyperlink命令成功地打开了该文件,但我无法引用该文件从中复制任何内容。似乎直到子文件的最后才真正打开该文件。有人知道我如何引用试图打开的Excel文件,以便从中复制值吗?我真的很想得到一些帮助或提示

以下是打开文件的代码:

ActiveWorkbook.FollowHyperlink Address:="cdb://byname/classname/document/CDB_View/interactive?zeichnung.z_nummer=D00846554&zeichnung.z_index=01"
我如何添加到它,以便从中复制值

此代码不起作用,并给出一个错误:

ActiveWorkbook.FollowHyperlink Address:="cdb://byname/classname/document/CDB_View/interactive?zeichnung.z_nummer=D00846554&zeichnung.z_index=01"
Workbooks("D00846554-01.xlsx").Worksheets("ZACSAANA").Range("A1").Copy ThisWorkbook.Sheets(1).Range("A2")

试着这样做:

Sub RunIt()
Dim Wb As Workbook 'Your Original Workbook
Dim sh As Worksheet 'Sheet where you want to copy to
Dim Sh2 As Worksheet 'Sheet where you're grabbing data from
Dim Wb2 As Workbook 'The Workbook you are opening via hyperlink

    Set Wb = ThisWorkbook

    ActiveWorkbook.FollowHyperlink ("Your HyperLink")

    Set Wb2 = Workbooks(ActiveWorkbook.Name)

    Set sh = Wb.sheets("Sheet in Wb1")


        With Wb2
            Set Sh2 = Wb2.sheets("Sheet in Wb2")
            'Copy values from sh2 to sh1

        End With

    Wb2.Close (False) 'Close Wb2 without saving


End Sub

我假设新打开的工作簿将成为
ActiveWorkbook
。您知道,您可以从excel文件中获取值,甚至不需要它吗?只有当我有文件路径时才有效,而我没有,因为该文件不在我的PC上。没有文件路径。该文件未存储在我的电脑上。它是通过链接存储的。请注意:
Set Wb2=Workbooks(ActiveWorkbook.Name)
可以简化为
Set Wb2=ActiveWorkbook
。您好,谢谢您的回答。不幸的是,它不起作用。它在这一行给出了一个“下标超出范围”错误:
Set Sh2=Wb2.Sheets(“ZACSAANA”)
我认为发生这种情况是因为FollowHyperlink命令似乎在sub运行之后才执行,因此FollowHyperlink之后的代码行无法访问它。您是否尝试过单步执行代码并在FollowHyperlink命令后暂停以查看是否加载Wb2?是的,我尝试过,但在FollowHyperlink命令后它不会加载。它似乎只在潜艇结束后加载。很奇怪,但我想FollowHyperlink就是这样工作的?