[ Góc nhờ giúp đỡ] Viết code VBA pdf tự động

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

KIMCUONG131298

Thành viên mới
Tham gia
6/6/24
Bài viết
4
Được thích
0
Xin chào anh chị. Em hiện tại đã có file tự động pdf tất cả file excel trong 1 foder tuỳ chọn ( file đính kèm ạ)
Tuy nhiên em cần thêm một số công dụng như bên dưới:
1. PDF cả file word,excel và autocad.
2. Trong file excel em có nhiều sheet tuy nhiên em chỉ muốn pdf sheetA thôi ạ.
3. Sau khi pdf em muốn tự động mở các file đã pdf ạ.

Nhờ anh chị hỗ trợ giúp em với ạ.
Em xin cảm ơn rất nhiều.
 

File đính kèm

  • PDF.xlsm
    30.4 KB · Đọc: 8

Nhờ anh chị hỗ trợ giúp em với ạ​

Xin chào anh chị. Em hiện tại đã có file tự động pdf tất cả file excel trong 1 foder tuỳ chọn ( file đính kèm ạ)
Tuy nhiên em cần thêm một số công dụng như bên dưới:
1. PDF cả file word,excel và autocad.
2. Trong file excel em có nhiều sheet tuy nhiên em chỉ muốn pdf sheetA thôi ạ.
3. Sau khi pdf em muốn tự động mở các file đã pdf ạ.

Nhờ anh chị hỗ trợ giúp em với ạ.
Em xin cảm ơn rất nhiều.
Bài này chắc phải đọc Nội quy và sửa lại tiêu đề. Không hiểu đưa file trống để làm gì.
1717943991078.png
 
Upvote 0
Dạ em mới vào nhóm có gì sai sót mong anh chị chỉ bảo. Em đã sửa lại tiêu đề ạ. File em đính kèm là dạng xlsm có code macro sẵn em góp nhặt được ạ. Ấn nút màu xanh sẽ tự động pdf các file excel trong folder tuỳ chọn ạ
 
Upvote 0
Dạ do công việc của em phải chuyển nhiều file dạng excel, word, auto cad sang pdf. Hiện tại em đang phải mở từng file rồi ctrl+P để chuyển pdf ạ. Nên em muốn tìm code vba tự động chuyển sang pdf nhanh chóng. File em đính kèm bấm vào nút màu xanh, chọn đường link folder có file excel thì các file excel đó sẽ chuyển về dạng pdf ạ.
 
Upvote 0
Dạ do công việc của em phải chuyển nhiều file dạng excel, word, auto cad sang pdf. Hiện tại em đang phải mở từng file rồi ctrl+P để chuyển pdf ạ. Nên em muốn tìm code vba tự động chuyển sang pdf nhanh chóng. File em đính kèm bấm vào nút màu xanh, chọn đường link folder có file excel thì các file excel đó sẽ chuyển về dạng pdf ạ.
Bạn phải có file mẫu có dữ liệu xem chuyển sang định dạng pdf vùng nào đến vùng nào, kết quả mong muốn trông nó ra sao, chứ đưa file trắng thế này thì ai đó muốn giúp cũng chịu.
 
Upvote 0
Bạn phải có file mẫu có dữ liệu xem chuyển sang định dạng pdf vùng nào đến vùng nào, kết quả mong muốn trông nó ra sao, chứ đưa file trắng thế này thì ai đó muốn giúp cũng chịu.
Dạ trong file em đang có code như thế này ạ. Hiện tại chạy ổn, nhưng em muốn thêm 1 vài tính năng như bên dưới ạ.
1. PDF cả file word,excel và autocad.
2. Trong file excel em có nhiều sheet tuy nhiên em chỉ muốn pdf sheetA thôi ạ.
3. Sau khi pdf em muốn tự động mở các file đã pdf ạ.

Sub BatchOpenMultiplePSTFiles()
Dim objShell As Object
Dim objWindowsFolder As Object
Dim strWindowsFolder As String

'Select the specific Windows folder
Set objShell = CreateObject("Shell.Application")
Set objWindowsFolder = objShell.BrowseForFolder(0, "Select a Windows folder:", 0, "")

If Not objWindowsFolder Is Nothing Then
strWindowsFolder = objWindowsFolder.self.Path & "\"

Call ProcessFolders(strWindowsFolder)

'Open the windows folder
Shell "Explorer.exe" & " " & strWindowsFolder, vbNormalFocus
End If
End Sub

Sub ProcessFolders(strPath As String)
Application.ScreenUpdating = False
Dim objFileSystem As Object
Dim objFolder As Object
Dim objFile As Object
Dim objExcelFile As Object
Dim objWorkbook As Excel.Workbook
Dim strWorkbookName As String

Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFileSystem.GetFolder(strPath)

For Each objFile In objFolder.Files
strFileExtension = objFileSystem.GetExtensionName(objFile)
If LCase(strFileExtension) = "xls" Or LCase(strFileExtension) = "xlsx" Then
Set objExcelFile = objFile
Set objWorkbook = Application.Workbooks.Open(objExcelFile.Path)

strWorkbookName = Left(objWorkbook.Name, (Len(objWorkbook.Name) - Len(strFileExtension)) - 1)

objWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strPath & strWorkbookName & ".pdf"

objWorkbook.Close False
End If
Next

'Process all folders and subfolders
If objFolder.SubFolders.Count > 0 Then
For Each objSubFolder In objFolder.SubFolders
If ((objSubFolder.Attributes And 2) = 0) And ((objSubFolder.Attributes And 4) = 0) Then
ProcessFolders (objSubFolder.Path)
End If
Next
End If

Application.ScreenUpdating = True
End Sub
 
Upvote 0
Dùng vba save excel, word sang pdf thì dễ hơn là save Cad sang pdf vì cad nó còn phụ thuộc vùng bạn muốn xuất. Cad bạn nên nghiên cứu lisp in hàng loạt thì hơn!
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom