質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

1072閲覧

2つのスライドショーを実行している状態でアクティブなウインドを切り替えたい

Qoo

総合スコア1249

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2020/01/24 01:43

2つのパワーポイントファイル(A,B)を開き
それぞれのファイルからアクティブウインドウを切り替えたいです。

実行中のアプリケーションのプロセスIDを取得して
開いているパワポのウインドウハンドルを切り替えようと思ったのですが、
パワポ自体のプロセスIDはいつしか検出されず、ファイ名ではなくexe単位のようでした。

A、Bそれぞれスライドショーを実行している状態で
AからB、BからAをアクティブに切り替える方法はないでしょうか。。

VBA

1 2'WMIにて使用する各種オブジェクトを定義・生成する。 3Dim oClassSet 4Dim oClass 5Dim oLocator 6Dim oService 7Dim sMesStr 8 9'ローカルコンピュータに接続する。 10Set oLocator = CreateObject("WbemScripting.SWbemLocator") 11Set oService = oLocator.ConnectServer 12 13'クエリー条件を WQL にて指定する。 14Set oClassSet = oService.ExecQuery("Select * From Win32_Process") 15 16'コレクションを解析する。 17For Each oClass In oClassSet 18 19sMesStr = sMesStr & oClass.Description & ": " & _ 20CStr(oClass.ProcessId) & vbCrLf 21 22Next 23 24Debug.Print "実行中アプリケーションに関する情報です。" & vbCrLf & vbCrLf & sMesStr 25 26'使用した各種オブジェクトを後片付けする。 27Set oClassSet = Nothing 28Set oClass = Nothing 29Set oService = Nothing 30Set oLocator = Nothing
svchost.exe: 7116 POWERPNT.EXE: 6388 ImeBroker.exe: 2868 WindowsInternal.ComposableShell.Experiences.TextInput.InputApp.exe: 364 dllhost.exe: 1592 Microsoft.Photos.exe: 1596 RuntimeBroker.exe: 6656 SearchProtocolHost.exe: 3556 audiodg.exe: 2204 SearchFilterHost.exe: 1012 notepad.exe: 6196

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Y.H.

2020/01/24 02:03

タグがVBA(PowerPointなどOffice製品のマクロ)になってますが VBScript(*.vbs)ですか?
Qoo

2020/01/24 03:16

パワポ内のマクロ(VBA)です
guest

回答1

0

ベストアンサー

2つだけという前提ですが以下で出来ませんかね。
(今手元に環境無いので動作確認できてませんが。。。)

VBA

1Dim sw As SlideShowWindow 2For Each sw In SlideShowWindows 3 ' アクティブなプレゼンテーションと異なる場合 4 If sw.Presentation.Name <> ActivePresentation.Name Then 5 sw.Activate 'アクティブにする 6 Exit For 7 End If 8Next

投稿2020/01/24 03:43

Y.H.

総合スコア7914

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Qoo

2020/01/24 04:10

できました!ありがとうございます!助かりました!
Qoo

2020/01/24 04:14

sw.Presentation.Nameでパワポのファイル名も取れたので2つ以上でも問題なさそうです! 本当にありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問