Board logo

標題: [發問] 如何取得己開啟EXCEL控制權,執行外部檔案巨集 [打印本頁]

作者: blue2263    時間: 2019-7-9 12:00     標題: 如何取得己開啟EXCEL控制權,執行外部檔案巨集

請教大大
附檔1 & 2由兩個EXCEL各別打開後,
執行1.xlsb OpenApp巨集,如下程式碼,
檔案在己開啟的狀態下,如何取得己開啟EXCEL控制權?,執行2.xlsb測試巨集

[attach]31007[/attach]
  1. Private Sub OpenApp()

  2.     On Error Resume Next
  3.     Err.Clear
  4.     Open ThisWorkbook.Path & "\" & 2 & ".xlsb" For Append As #1
  5.     Close #1

  6.     If Err.Number > 0 Then '此活頁簿己被開啟

  7.         '此活頁簿己被開啟,此處要如何取得己開啟EXCEL控制權?,執行測試巨集
  8.         app1.Run "測試"
  9.     Else
  10.         Set app1 = CreateObject("Excel.Application")
  11.         Set book1 = app1.Workbooks.Open(ThisWorkbook.Path & "\2.xlsb")
  12.         app1.Visible = True

  13.         app1.Run "測試"
  14.     End If

  15.     Set app1 = Nothing
  16.     Set book1 = Nothing
  17. End Sub
複製代碼

作者: blue2263    時間: 2019-7-18 21:15

我己在網路上找到解答 ,提供給需要的朋友
https://tw.answers.yahoo.com/question/index?qid=20090214000016KK01619
  1. Private Sub OpenApp()
  2.     Dim app1 As Object
  3.     On Error Resume Next
  4.     Err.Clear
  5.     Open ThisWorkbook.Path & "\" & 2 & ".xlsb" For Append As #1
  6.     Close #1

  7.     If Err.Number > 0 Then '此活頁簿己被開啟
  8.         Set app1 = CreateObject(ThisWorkbook.Path & "\" & 2 & ".xlsb")
  9.         app1.Application.Run "測試"
  10.   
  11.     Else  '此活頁簿未被開啟
  12.         Set app1 = CreateObject("Excel.Application")
  13.         Set book1 = app1.Workbooks.Open(ThisWorkbook.Path & "\2.xlsb")
  14.         app1.Visible = True
  15.         app1.Run "測試"
  16.     End If

  17.     Set app1 = Nothing
  18.     Set book1 = Nothing
  19. End Sub
複製代碼





歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)