Trang 1 trên 1

Chuyển file DOC sang file PDF

Đã gửi: CN 06/04/2008 3:37 pm
gửi bởi T7
Thủ thuật: Chuyển file DOC sang file PDF
Tác giả: Sưu tầm
Mô tả: Giúp bạn chuyển file Doc (Word) sang file PDF (Adobe Acrobat Reader). Chú ý: Cần có Adobe Acrobat Distiller & MS Word cài trong máy :D


Mã: Chọn hết

  1. Option Explicit
  2.  
  3. Function DOC2PDF(sDocFile, sPDFFile)
  4. On Error GoTo err:
  5. Dim FSO
  6. Dim objWord
  7. Dim objWordDoc
  8. Dim objWordDocs
  9. Dim sPrevPrinter  As String
  10. Dim objDistiller
  11. Dim sTempFile, sFolder
  12.  
  13. Set objDistiller = CreateObject("PDFDistiller.PDFDistiller")
  14. Set FSO = CreateObject("Scripting.FileSystemObject")
  15. Set objWord = CreateObject("Word.Application")
  16. Set objWordDocs = objWord.Documents
  17.  
  18. sTempFile = App.Path & "\Temp"
  19. sDocFile = FSO.GetAbsolutePathName(sDocFile)
  20. sFolder = FSO.GetParentFolderName(sDocFile)
  21.  
  22. If Len(sPDFFile) = 0 Then
  23.   sPDFFile = FSO.GetBaseName(sDocFile) + ".pdf"
  24. End If
  25.  
  26. If Len(FSO.GetParentFolderName(sPDFFile)) = 0 Then
  27.   sPDFFile = sFolder + "\" + sPDFFile
  28. End If
  29.  
  30. sPrevPrinter = objWord.ActivePrinter
  31.  
  32. objWord.ActivePrinter = "Acrobat Distiller"
  33.  
  34. Set objWordDoc = objWordDocs.Open(sDocFile)
  35.  
  36. objWord.ActiveDocument.PrintOut False, , , sTempFile
  37. objWordDoc.Close
  38. objWord.ActivePrinter = sPrevPrinter
  39. objWord.Quit
  40. Set objWord = Nothing
  41.  
  42. objDistiller.FileToPDF sTempFile, sPDFFile, "Print"
  43. Set objDistiller = Nothing
  44. FSO.DeleteFile (sTempFile)
  45.  
  46. Set FSO = Nothing
  47.  
  48. MsgBox "PDF File Created", vbInformation
  49. Exit Function
  50.  
  51. err:
  52. MsgBox err.Description, vbExclamation
  53. End Function


Cách dùng:

Mã: Chọn hết

  1. DOC2PDF "Path của File doc cần chuyển", "Path của File pdf xuất ra"

Re: Chuyển file DOC sang file PDF

Đã gửi: T.Năm 10/04/2008 2:52 pm
gửi bởi QuangHoa
Đọc bài này em thấy có ý tưởng là làm cái Add-in cho Adobe Acrobat Distiller hoặc MS Word nhưng nghĩ lại thì thấy có vấn đề cần anh T7 "tư vấn" là làm thế nào để kiểm tra xem hai phần mềm Adobe Acrobat Distiller và MS Word đã cài vào máy hay chưa.

Re: Chuyển file DOC sang file PDF

Đã gửi: T.Năm 10/04/2008 4:03 pm
gửi bởi T7
Nếu dòng code này báo lỗi thì Adobe Acrobat Distiller chưa cài vào máy:

Mã: Chọn hết

  1. Set objDistiller = CreateObject("PDFDistiller.PDFDistiller")


Còn nếu word chưa cài váo máy sẽ báo lỗi ở đoạn này:

Mã: Chọn hết

  1. Set objWord = CreateObject("Word.Application")

Re: Chuyển file DOC sang file PDF

Đã gửi: T.Ba 20/08/2013 7:07 pm
gửi bởi deptraithongminh
thế nếu em làm ngược lại thì sao ?
anh T7 chỉ em với !
chì em luôn cách chuyển file word sang file .xps và ngược lại nha anh !

Re: Chuyển file DOC sang file PDF

Đã gửi: T.Sáu 13/09/2013 8:09 pm
gửi bởi ducpkh
Bạn đã chuyển được file Word sang Pdf chưa. Mình dùng code trên mà chưa làm được

Re: Chuyển file DOC sang file PDF

Đã gửi: CN 15/09/2013 11:30 pm
gửi bởi ducpkh
T7 cho mình hỏi. Máy mình đã cài Adobe Acrobat Distiller rồi nhưng khi chạy báo lỗi "there is a printer error" là sao bạn? Trong Reference của Project mình đã add Acrobat Distiller rồi. Mong bạn chỉ giúp?