2017-04-03 17 views
1

私はパワーポイントプレゼンテーションでエクセルファイルを開こうとしています。 これは私のコードです:パワーポイントを使ってVBAでフォアグラウンドを開く方法

Sub diversestickersKoole() 

Dim xlApp As Object 
Dim xlWorkBook As Object 

Set xlApp = CreateObject("Excel.Application") 

xlApp.Visible = True 
Set xlWorkBook = xlApp.Workbooks.Open("V:\Oliedocs\Koole\Stickers Scheepstanks Koole.xltm", True, False) 

Set xlApp = Nothing  
Set xlWorkBook = Nothing 
End Sub 

Excelファイルをバックグラウンドで開いています。これは前景になければなりません。

誰かが私を助けることができますか?

+0

End FunctionではなくEnd Subにする必要がありますか?コードは、プレゼンテーションの上にブックを開きます。問題は何ですか? – sktneer

答えて

0

xlWorkBook.Activateという行を追加するだけで十分です。

あなたのコードは次のようになります。

Sub diversestickersKoole() 

Dim xlApp As Object 
Dim xlWorkBook As Object 

Set xlApp = CreateObject("Excel.Application") 

xlApp.Visible = True 
Set xlWorkBook = xlApp.Workbooks.Open("V:\Oliedocs\Koole\Stickers Scheepstanks Koole.xltm", True, False) 

xlWorkBook.Activate 

Set xlApp = Nothing 

Set xlWorkBook = Nothing 


End Function 

参照について:

https://www.mrexcel.com/forum/excel-questions/670476-excel-visual-basic-applications-test-if-workbook-open-if-so-bring-front.html

ポスト#4

+0

リンクする例は、Excelが既にアクティブであることを前提としています。 – brettdj

+0

残念ながらそれは動作しません:( –

0

あなたはAppActivateを使用することができます。

次のコードは、「test.xlsx使用しています - これは私のテストワークブックのキャプションであるとして、エクセル

ステッカーScheepstanks Koole.xltm - 。エクセルはあなた

Sub diversestickersKoole() 

Dim xlApp As Object 
Dim xlWorkBook As Object 

Set xlApp = CreateObject("Excel.Application") 

xlApp.Visible = True 
'Set xlWorkBook = xlApp.Workbooks.Open("V:\Oliedocs\Koole\Stickers Scheepstanks Koole.xltm", True, False) 
Set xlWorkBook = xlApp.Workbooks.Open("C:\temp\test.xlsx", True, False) 
AppActivate "test.xlsx - Excel" 

Set xlApp = Nothing 

Set xlWorkBook = Nothing 

End Sub 
0

のために働く必要がありますExcelオブジェクトとその派生オブジェクトを保持することに興味がないように見えるので、次のようにコードするとよいでしょう。

Sub diversestickersKoole() 
    With CreateObject("Excel.Application") '<--| create a new Excel instance and reference it (all its derived objects will be reached by a 'dot') 
     .Visible = True 
     .WindowState = -4137 '<--| maximize Excel window 
     .Workbooks.Open("V:\Oliedocs\Koole\Stickers Scheepstanks Koole.xltm", True, False).Activate 
    End With 
End Sub 
+0

残念ながら、これは動作しません、バックグラウンドでExcelファイルが開きます。 –

関連する問題