質問編集履歴

2

文字修正

2021/02/28 05:49

投稿

ohikazuma
ohikazuma

スコア17

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- パワーポントのVBAを使って音声読み上げ機能は出来ました。
1
+ パワーポントのVBAを使って音声読み上げ機能は出来ました。
2
2
 
3
3
  そして、同一スライドで、音声を読み上げた後にアニメーションを動かし、次の音声後に次のアニメーションを動かしたいと、思ってNetを調べたのですが…
4
4
 

1

サンプルプログラム追加

2021/02/28 05:49

投稿

ohikazuma
ohikazuma

スコア17

test CHANGED
File without changes
test CHANGED
@@ -7,3 +7,125 @@
7
7
  漠然とした質問で申し訳ありませんが、何方かご存知の方はいらっしゃらないでしょうか。
8
8
 
9
9
  ヒントでもかまいません。
10
+
11
+
12
+
13
+
14
+
15
+ [参考プログラム]
16
+
17
+ ```VBA
18
+
19
+
20
+
21
+ Public Sub CommandButton実行_Click()
22
+
23
+
24
+
25
+ Call 音声読み上げ("これから現状分析します")
26
+
27
+
28
+
29
+ Sleep 500
30
+
31
+ Call 音声読み上げ("これが既存の状態です。")
32
+
33
+
34
+
35
+   ’ここで図形表示したい!!!
36
+
37
+
38
+
39
+ Sleep 2000
40
+
41
+ Call 音声読み上げ("最大の問題はこれです。")
42
+
43
+
44
+
45
+   ’ここで図形表示したい!!!
46
+
47
+
48
+
49
+ 'ノート欄の文字列を取得する場合はこちら
50
+
51
+ Dim strNote As String
52
+
53
+ strNote = NotesPage.Shapes.Placeholders(2).TextFrame.TextRange.Text
54
+
55
+
56
+
57
+ Call 音声読み上げ(strNote)
58
+
59
+
60
+
61
+ End Sub
62
+
63
+
64
+
65
+ Public Sub 音声読み上げ(strNote As String)
66
+
67
+
68
+
69
+ '' ノート欄が空の場合は,読み上げ処理を行わずに終了
70
+
71
+ If strNote = "" Then
72
+
73
+ Exit Sub
74
+
75
+ End If
76
+
77
+
78
+
79
+ '' 音声合成エンジンを取得
80
+
81
+ Dim sv As Object
82
+
83
+ Set sv = CreateObject("SAPI.SpVoice")
84
+
85
+
86
+
87
+ '' インストールされている音声合成エンジンのうち、最初に見つかった日本語のものを選択
88
+
89
+ For i = 0 To sv.GetVoices.Count - 1
90
+
91
+ If InStr(sv.GetVoices.Item(i).GetDescription, "Japanese") Then
92
+
93
+ Set sv.Voice = sv.GetVoices.Item(i)
94
+
95
+ Exit For
96
+
97
+ End If
98
+
99
+ Next
100
+
101
+ '' 日本語のエンジンが見つからなかった場合
102
+
103
+ If InStr(sv.Voice.GetDescription, "Japanese") < 1 Then
104
+
105
+ '' 発見に失敗した旨をメッセージボックスで通知
106
+
107
+ MsgBox "日本語のエンジンが見つかりませんでした。" & vbCrLf & _
108
+
109
+ "現在の設定 : " & sv.Voice.GetDescription
110
+
111
+ Exit Sub
112
+
113
+ End If
114
+
115
+
116
+
117
+ '' 音声合成実行
118
+
119
+ sv.Speak strNote
120
+
121
+
122
+
123
+ '' 音声合成エンジンを開放
124
+
125
+ Set sv = Nothing
126
+
127
+
128
+
129
+ End Sub
130
+
131
+ ```