期末考試了,可能你需要把老師講課的課件轉成word 。似乎習慣性地你要去找相關的軟體。但似乎有的簡單的工具--一段指令碼代碼足以完成這個小小的任務。
下面是一段vb指令碼代碼。將下面代碼複製下來,另存新檔convert.vbs。使用時請把所有要轉換的ppt檔案複製到目錄c:\下。雙擊運行此指令檔即可。
代碼的每一行都加了注釋。你可以根據自己的需要自已做些改動。
如果你想獲得更多的應用。你可以訪問微軟的指令碼中心。這裡有豐富的指令碼資源。關於office的指令碼在這裡
如果你對此項東東高度興趣,不妨找些介紹vba( vb application)的書籍來看。
'此指令碼可以批量將ppt檔案中的文本轉換為word檔案。圖片、表格等內容則自動跳過
'指令碼的每一行都加了詳細的註解,可根據自己的需要照貓畫虎。
'使用中有問題歡迎與我聯絡:範晨鵬 p_168@163.com
'歡迎光臨我的技術部落格:http://diylab.cnblogs.com
'綁定到本機電腦
strComputer = "."
'如果發生錯誤,繼續執行
on error resume next
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
msgbox "此指令碼可以批量將ppt檔案中的文本轉換為word檔案。圖片、表格等內容則自動跳過" & vbcrlf & "使用時請把所有要轉換的ppt檔案複製到目錄c:\下。雙擊運行此檔案即可。" & vbcrlf & "運行此指令碼需要本機上安裝了office"
'建立一個word對象
Set objWord = CreateObject("Word.Application")
'建立一個ppt對象
Set pptApp = CreateObject("PowerPoint.application")
'獲得c:\目錄下的檔案集合
Set FileList = objWMIService.ExecQuery _
("ASSOCIATORS OF {Win32_Directory.Name='c:'} Where " _
& "ResultClass = CIM_DataFile")
For Each objFile In FileList
'如果檔案的副檔名是ppt
If objFile.Extension = "ppt" Then
pptApp.visible = true
'開啟這個ppt檔案
Set pptSelection = pptApp.Presentations.Open("c:\" & objFile.FileName & "." & objFile.Extension)
'如果想讓指令碼處理得快些,把下面一行改為“objWord.Visible = false”,不推薦。
objWord.Visible = true
'建立一個word,以儲存ppt中的文本
Set objDoc = objWord.Documents.Add()
Set objSelection = objWord.Selection
'從ppt的第一頁開始迴圈。Slides.Count即投影片的數量
For i = 1 To pptSelection.Slides.Count
'從每一張ppt的第一個文字框開始迴圈,Shapes.Count,即每張投影片中文字框的數量
For j = 1 To pptSelection.Slides(i).Shapes.Count
'如果是每頁的第一行,就按標題處理,變成黑體字
if i =1 then
objSelection.Font.Name = "黑體"
'把文字框中的文字添加到word中
objSelection.TypeText pptSelection.Slides(i).Shapes(j).TextFrame.TextRange.text
objSelection.TypeParagraph()
objSelection.Font.Name = "宋體"
end if
objSelection.TypeText pptSelection.Slides(i).Shapes(j).TextFrame.TextRange.text
'加一個斷行符號
objSelection.TypeText vbcrlf
Next
next
'關閉這個ppt檔案
pptSelection.close
'儲存word檔案。
objDoc.SaveAs("c:\" & objFile.FileName & ".doc")
'如果不需要關閉word,把下面這一行刪掉
objDoc.close
'如果不想彈出訊息框,把下面這一行刪掉
msgbox "轉換後的word已儲存在c:\" & objFile.FileName & ".doc"
else '沒有ppt檔案
'msgbox "錯誤:c:\下沒有發現ppt檔案!"
End If
Next
pptApp.quit