標題:
音訊設定
[打印本頁]
作者:
HSIEN6001
時間:
2012-4-24 14:37
標題:
音訊設定
本帖最後由 HSIEN6001 於 2012-4-24 14:46 編輯
我太菜了!光這個就搞不定
厚臉皮來求救了!
Sub SpeEng()
Dim i
For i = 1 To CountA(Range("C:C")) '--->Error
Set oSa = CreateObject("SAPI.SpVoice")
oSa.Volume = 100
oSa.Rate = -1
oSa.Speak [ "C" & i ] '--->Error
Sleep 2000 '--->Error
Next i
End Sub
複製代碼
PS:小聲問....XP 內定的男音 有方法改成女音?! (請不要告訴我:改灌Win 7)
作者:
oobird
時間:
2012-4-24 15:27
1.for i = 1 to [c65536].end(3).row
2. oSa.Speak cells(i,3)
3. 網上有許多語音庫供下載,這是一個:
http://album.blog.yam.com/show.p ... 8681&i=15505199
其實下載微軟TTS語音引擎 (TTS Engines) 5.1版,已包括 Sam / Mary / Mike 三種美國英語發音
作者:
oobird
時間:
2012-4-24 15:53
http://115.com/file/bhvcw92h
目前這個是公認最接近真人發音的文字轉換語音引擎
作者:
HSIEN6001
時間:
2012-4-24 16:41
本帖最後由 HSIEN6001 於 2012-4-24 16:49 編輯
回復
2#
oobird
語法真是千變萬化! 好神!
CountA(Range("C:C") 我不清楚錯在哪?!---->可以告訴我錯誤?!
延遲 Sleep 2000 也不知道為何不行,會出現偵錯--->延遲的語法,請版大指導,謝謝!
--->有個想法是用對話框輸入指定欄位,一次唸一句。不要〔延遲〕設定 -->拜託版大指導,謝謝。
版大提供 [c65536].End(3).Row 我趕快Google
[C65536].End(xlUp).Row
[C65536].End(xlDown).Row
還有點"霧煞煞",End(3)--->3應該指的是C
UP & Down ?!
作者:
HSIEN6001
時間:
2012-4-24 16:43
本帖最後由 HSIEN6001 於 2012-4-24 17:03 編輯
回復
3#
oobird
版大,拍謝! 這網址,偶不知道按哪個下載!
優化(蛋)下載?!
剛剛選 mike 發音較正常些!~謝謝^^
作者:
Hsieh
時間:
2012-4-24 22:05
本帖最後由 Hsieh 於 2012-4-24 22:15 編輯
回復
4#
HSIEN6001
sleep是API函數,完整程式碼如下
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub SpeEng()
Dim i
For i = 1 To Application.CountA(Range("C:C")) '使用工作表函數計算C欄的資料量作為迴圈結束
Set oSa = CreateObject("SAPI.SpVoice") '創建語音物件
oSa.Volume = 100 '音量
oSa.Rate = -1 '速度
oSa.Speak Cells(i, 3) '讀出C欄的內容
Sleep 2000 '停留2秒繼續
Next i
End Sub
複製代碼
作者:
HSIEN6001
時間:
2012-4-24 22:19
回復
6#
Hsieh
謝謝Hsieh 版主的解析,我大略懂意思了
我會再加把勁學習的,另一個想法我自己繼續努力看看
屆時再商請指導!
∼感恩!
作者:
HSIEN6001
時間:
2012-4-25 13:04
可以用了耶!
Sub SpeEnginBox()
Dim i
Application.ScreenUpdating = False
i = InputBox("請輸入欲發音列, 格式 1、2、3...", , 2)
Application.DisplayAlerts = False
Set oSa = CreateObject("SAPI.SpVoice")
oSa.Volume = 100
oSa.Rate = -1
oSa.Speak Cells(i, 3)
Sleep 2000
End Sub
複製代碼
剪剪貼貼ㄉ語法
有誤用的話,請大大們指點。
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)