把ppt轉換為word的一段指令碼

來源:互聯網
上載者:User

  期末考試了,可能你需要把老師講課的課件轉成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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.