Note: The other languages of the website are Google-translated. Back to English

Làm cách nào để đếm số trang của tệp Pdf trong Excel?

Nếu có nhiều tệp Pdf trong một thư mục cụ thể, bây giờ, bạn muốn hiển thị tất cả các tên tệp này trong một trang tính và lấy số trang của mỗi tệp. Làm thế nào bạn có thể giải quyết công việc này trong Excel một cách nhanh chóng và dễ dàng?

Đếm số trang của tệp Pdf từ một thư mục trong trang tính có mã VBA


Đếm số trang của tệp Pdf từ một thư mục trong trang tính có mã VBA

Có thể mã VBA sau đây có thể giúp bạn hiển thị tất cả các tên tệp Pdf và số trang từng trang của chúng trong một trang tính, vui lòng làm như sau:

1. Mở trang tính mà bạn muốn lấy tệp Pdf và số trang.

2. Giữ ALT + F11 chìa khóa và nó mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

3. Nhấp chuột Chèn > Mô-đunvà dán macro sau vào Mô-đun Cửa sổ.

Mã VBA: Liệt kê tất cả tên tệp Pdf và số trang trong trang tính:

Sub Test()
    Dim I As Long
    Dim xRg As Range
    Dim xStr As String
    Dim xFd As FileDialog
    Dim xFdItem As Variant
    Dim xFileName As String
    Dim xFileNum As Long
    Dim RegExp As Object
    Set xFd = Application.FileDialog(msoFileDialogFolderPicker)
    If xFd.Show = -1 Then
        xFdItem = xFd.SelectedItems(1) & Application.PathSeparator
        xFileName = Dir(xFdItem & "*.pdf", vbDirectory)
        Set xRg = Range("A1")
        Range("A:B").ClearContents
        Range("A1:B1").Font.Bold = True
        xRg = "File Name"
        xRg.Offset(0, 1) = "Pages"
        I = 2
        xStr = ""
        Do While xFileName <> ""
            Cells(I, 1) = xFileName
            Set RegExp = CreateObject("VBscript.RegExp")
            RegExp.Global = True
            RegExp.Pattern = "/Type\s*/Page[^s]"
            xFileNum = FreeFile
            Open (xFdItem & xFileName) For Binary As #xFileNum
                xStr = Space(LOF(xFileNum))
                Get #xFileNum, , xStr
            Close #xFileNum
            Cells(I, 2) = RegExp.Execute(xStr).Count
            I = I + 1
            xFileName = Dir
        Loop
        Columns("A:B").AutoFit
    End If
End Sub

4. Sau khi dán mã, rồi nhấn F5 phím để chạy mã này và Xem cửa sổ hiện ra, vui lòng chọn thư mục chứa các tệp Pdf bạn muốn liệt kê và đếm số trang, xem ảnh chụp màn hình:

doc đếm số trang pdf 1

5. Và sau đó, nhấp vào OK , tất cả tên tệp Pdf và số trang được liệt kê trong trang tính hiện tại, xem ảnh chụp màn hình:

doc đếm số trang pdf 2


Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Thanh siêu công thức (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
  • Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2021 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại tiền trong 60 ngày.
tab kte 201905

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
officetab dưới cùng
Nhận xét (71)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Hoạt động tuyệt vời! Cảm ơn nhiều!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn bạn rất nhiều vì đã đăng thông báo đầy đủ thông tin như vậy
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn rất nhiều, mã tuyệt vời rất hữu ích với tôi
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Không hoạt động bình thường, đối với một số pdf, đối với một số pdf, nó hiển thị 0 và đối với một số số trang không chính xác
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Fawaz,
Mã hoạt động tốt trong Excel của tôi, bạn sử dụng phiên bản Excel nào?
Hoặc bạn có thể gửi sự cố chi tiết của bạn hoặc các tệp pdf đến Email của tôi: skyyang @extendofficeCom.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào skyyang,

Tôi cũng gặp vấn đề như Fawaz. Tôi sử dụng MS Office Professional Plus 2013.

Cảm ơn bạn đã giúp đỡ!

Trân trọng
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Điều tương tự cũng xảy ra ở đây cùng một trang pdf được trả về XNUMX, Vui lòng ai đó giải thích điều này
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Venkatesh G
Mã hoạt động tốt trong Excel của tôi, vui lòng gửi tệp pdf của bạn tới Email của tôi: yy@addin99.com.
Để chúng tôi có thể kiểm tra vấn đề ở đâu, xin cảm ơn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Liên quan


Hay algún problemma con el programma, yo estoy usando la versión 2019 de Office, y las páginas parece que las va contando de mal las primeras 9 páginas acumuladas me sale cero, en la novena página acumulada me sale 10.

¿Por ủng hộ tôi puedes ayudar con ese bất tiện?

De antemano muchas gracias.

Atte.

Peter
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
THÁNH ƠI! Điều này thật tuyệt! Cảm ơn bạn rất nhiều! Tôi là một thợ in và đã làm printit.txt và điền bằng tay! Điều này sẽ làm cho công việc báo giá và kiểm tra DỄ DÀNG HƠN! Cảm ơn một lần nữa !!!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Trân trọng

Có vấn đề với chương trình, tôi đang sử dụng phiên bản 2019 của Office và các trang dường như đang đếm kém, 9 trang tích lũy đầu tiên tôi nhận được bằng 10, trong trang tích lũy thứ chín, tôi nhận được XNUMX.

Bạn có thể vui lòng giúp tôi về sự bất tiện đó được không?

Trước cảm ơn bạn rất nhiều.

Atte.

Peter
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Mã là cấu trúc tốt cho cách thực hiện loại điều này nhưng regexp đó sẽ cho kết quả không đáng tin cậy đối với nhiều pdf. Regexp đang được tìm kiếm (/ Loại \ s * / Trang [^ s]), sẽ không hoạt động trong các pdf BẢO MẬT (số lượng sẽ bằng XNUMX). Ngoài ra, các công cụ và phiên bản pdf khác nhau về cách chúng đánh dấu các trang. Nó có thể chính xác nếu bạn biết rằng tất cả các pdf của bạn được tạo bằng cùng một cấu trúc (phiên bản và công cụ).
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn bạn rất nhiều vì câu trả lời của bạn, tôi đã giải quyết vấn đề bằng cách lưu các tệp dưới dạng: "PDF được tối ưu hóa"
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
100% đồng ý với Pedro, tôi đã gặp vấn đề tương tự như Rob khi một số trang PDF bị sai. Nhưng nếu bạn đảm bảo rằng tất cả các tệp được lưu dưới dạng "PDF được tối ưu hóa" trong thư mục, nó sẽ nhận được tất cả các trang chính xác. Điều này đã làm việc cho tôi trên hơn 100 tệp PDF riêng biệt. Bạn cũng có thể tối ưu hóa hàng loạt với Acrobat Pro. Nhìn chung, mã tuyệt vời, hoạt động ngay lập tức nếu bạn muốn.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Điều gì sẽ xảy ra nếu tôi cũng muốn chạy qua các thư mục con?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Prashant,
Để nhận số lượng tất cả các tệp PDF từ thư mục và thư mục con, vui lòng áp dụng mã dưới đây:

Kiểm tra phụ ()
Dim I As Long
Dim xRg theo phạm vi
Làm mờ xStr dưới dạng chuỗi
Làm mờ xFd dưới dạng FileDialog
Dim xFdItem dưới dạng biến thể
Dim xFileName dưới dạng chuỗi
Dim xFileNum càng lâu càng tốt
Dim RegExp làm đối tượng
Đặt xFd = Application.FileDialog (msoFileDialogFolderPicker)
Nếu xFd.Show = -1 Thì
xFdItem = xFd.SelectedItems (1) & Application.PathSeparator
Đặt xRg = Range ("A1")
Phạm vi ("A: B"). ClearContents
Phạm vi ("A1: B1"). Font.Bold = True
xRg = "Tên tệp"
xRg.Offset (0, 1) = "Trang"
I = 2
Gọi SunTest (xFdItem, I)
Cuối Nếu
End Sub

Sub SunTest (xFdItem As Variant, I As Long)
Dim xRg theo phạm vi
Làm mờ xStr dưới dạng chuỗi
Làm mờ xFd dưới dạng FileDialog
Dim xFileName dưới dạng chuỗi
Dim xFileNum càng lâu càng tốt
Dim RegExp làm đối tượng
Làm mờ xF dưới dạng đối tượng
Làm mờ xSF dưới dạng đối tượng
Dim xFso làm đối tượng
xFileName = Dir (xFdItem & "* .pdf", vbDirectory)
xStr = ""
Làm trong khi xFileName <> ""
Ô (I, 1) = xFileName
Đặt RegExp = CreateObject ("VBscript.RegExp")
RegExp.Global = Đúng
RegExp.Pattern = "/ Loại \ s * / Trang [^ s]"
xFileNum = FreeFile
Mở (xFdItem & xFileName) Đối với Binary As #xFileNum
xStr = Dấu cách (LOF (xFileNum))
Nhận #xFileNum,, xStr
Đóng #xFileNum
Cells (I, 2) = RegExp.Execute (xStr) .Count
tôi = tôi + 1
xFileName = Dir
Vòng lặp
Các cột ("A: B"). AutoFit
Đặt xFso = CreateObject ("Scripting.FileSystemObject")
Đặt xF = xFso.GetFolder (xFdItem)
Đối với mỗi xSF Trong xF.SubFolders
Gọi SunTest (xSF.Path & "\", I)
Sau
End Sub

Hãy cố gắng, hy vọng nó có thể giúp bạn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Mã thư mục con của bạn hoạt động tốt! cảm ơn
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Điều này là tuyệt vời, cảm ơn bạn. Tôi cũng muốn chạy qua các thư mục con. Tôi thêm các lệnh bổ sung này vào đâu / bằng cách nào trong đoạn mã trên? toàn bộ sẽ như thế nào?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Bạn cũng có thể giúp tôi lấy trình tạo và kích thước của tệp được không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Nó thực sự tuyệt vời, nhưng tên thư mục con không nằm trong cột riêng biệt với tên tệp PDF và số lượng trang. Bạn có thể giúp đỡ trong việc này?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tuyệt diệu!!!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cám ơn rất nhiều.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào bạn,
Không có chi. Rất vui vì nó có ích. Nếu có thắc mắc gì, vui lòng liên hệ với chúng tôi. Có một ngày tuyệt vời.
Trân trọng,
Mandy
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào Mandy,
Tôi gặp lỗi Thời gian chạy '5': Lệnh gọi hoặc đối số thủ tục không hợp lệ
Gỡ lỗi chuyển đến dòng này: xStr = Space (LOF (xFileNum))
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi đang chạy nhưng gặp lỗi và gỡ lỗi hiển thị xStr = Space (LOF (xFileNum)) là sự cố.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn bạn rất nhiều.
Tương tự như vậy, bạn có thể đếm và phân loại các trang A3 và A4 không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Đây là mã tôi tìm thấy ở đâu đó trên mạng, nó không tối ưu như phương pháp của bạn:
Tùy chọn rõ ràng
Public PDFDoc As AcroPDDoc, PDFPage As Object, A3 &, A4 &

Chính phụ ()
Dim fso As FileSystemObject, fld As Folder, fil As File, s $, i &, Arr ()
Đặt fso = New FileSystemObject
Đặt PDFDoc = AcroPDDoc mới
Đặt fld = fso.GetFolder (ThisWorkbook.Path)
ReDim Arr (1 đến 1000, 1 đến 3)
Đối với từng fil Trong fld.Files
s = fil.Name
If Right (s, 4) = ".pdf" Then
CountPagesPDF (ThisWorkbook.Path & "\" & s)
tôi = tôi + 1
Arr (i, 1) = s
Arr (i, 2) = A3
Arr (i, 3) = A4
Cuối Nếu
Sau
Phạm vi ("A2: C" & Cells.Rows.Count). Rõ ràng
Phạm vi ("A2: C" & (i + 1)) = Arr
Đặt PDFPage = Không có gì
Đặt PDFDoc = Không có gì
Đặt fso = Không có gì
End Sub

Sub CountPagesPDF (FullFileName $)
Làm mờ i &, n &, x, y
A3 = 0
A4 = 0
PDFDoc.Open (FullFileName)
n = PDFDoc.GetNumPages
Đối với i = 0 Đến n - 1
Đặt PDFPage = PDFDoc.AcquirePage (i)
x = PDFPage.GetSize (). x
y = PDFPage.GetSize (). y
Nếu x + y> 1500 Thì A3 = A3 + 1 Khác A4 = A4 + 1
Sau
PDFDoc.Close
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chà! rất cảm ơn bạn đã chia sẻ, mã VBA này là một kẻ giết người !! Nó hoạt động hoàn hảo với Excel O365
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
ồ. thư mục con hoạt động tốt. bạn có thể chia sẻ cách thêm "đường dẫn tệp" và "kích thước tệp" luôn được không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Daphne,
Để giải quyết vấn đề của bạn, vui lòng áp dụng mã dưới đây, vui lòng thử, hy vọng nó có thể giúp bạn!

Kiểm tra phụ ()
Dim I As Long
Dim xRg theo phạm vi
Làm mờ xStr dưới dạng chuỗi
Làm mờ xFd dưới dạng FileDialog
Dim xFdItem dưới dạng biến thể
Dim xFileName dưới dạng chuỗi
Dim xFileNum càng lâu càng tốt
Dim RegExp làm đối tượng
Đặt xFd = Application.FileDialog (msoFileDialogFolderPicker)
Nếu xFd.Show = -1 Thì
xFdItem = xFd.SelectedItems (1) & Application.PathSeparator
Đặt xRg = Range ("A1")
Phạm vi ("A: B"). ClearContents
Phạm vi ("A1: B1"). Font.Bold = True
xRg = "Tên tệp"
xRg.Offset (0, 1) = "Trang"
xRg.Offset (0, 2) = "Đường dẫn"
xRg.Offset (0, 3) = "Kích thước (b)"
I = 2
Gọi SunTest (xFdItem, I)
Cuối Nếu
End Sub

Sub SunTest (xFdItem As Variant, I As Long)
Dim xRg theo phạm vi
Làm mờ xStr dưới dạng chuỗi
Làm mờ xFd dưới dạng FileDialog
Dim xFileName dưới dạng chuỗi
Dim xFileNum càng lâu càng tốt
Dim RegExp làm đối tượng
Làm mờ xF dưới dạng đối tượng
Làm mờ xSF dưới dạng đối tượng
Dim xFso làm đối tượng
xFileName = Dir (xFdItem & "* .pdf", vbDirectory)
xStr = ""
Làm trong khi xFileName <> ""
Ô (I, 1) = xFileName
Đặt RegExp = CreateObject ("VBscript.RegExp")
RegExp.Global = Đúng
RegExp.Pattern = "/ Loại \ s * / Trang [^ s]"
xFileNum = FreeFile
Mở (xFdItem & xFileName) Đối với Binary As #xFileNum
xStr = Dấu cách (LOF (xFileNum))
Nhận #xFileNum,, xStr
Đóng #xFileNum
Cells (I, 2) = RegExp.Execute (xStr) .Count
Ô (I, 3) = xFdItem & xFileName
Ô (I, 4) = FileLen (xFdItem & xFileName)
tôi = tôi + 1
xFileName = Dir
Vòng lặp
Các cột ("A: B"). AutoFit
Đặt xFso = CreateObject ("Scripting.FileSystemObject")
Đặt xF = xFso.GetFolder (xFdItem)
Đối với mỗi xSF Trong xF.SubFolders
Gọi SunTest (xSF.Path & "\", I)
Sau
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Điều này thật tuyệt. Thanks!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào skyyang,
Xin lỗi vì đụng một bài viết cũ.
Cảm ơn bạn vì mã trên, nó đã giúp tôi rất nhiều!
Bạn có vui lòng chia sẻ cách thêm 'ngày tạo tệp' cũng chỉ có định dạng là ngày, không bao gồm thời gian, DD / MMM / YYYY không?
Cho dù tôi tìm kiếm ở đâu, tôi dường như không thể chỉnh sửa mã của bạn để tự mình thực hiện điều này một cách chính xác ..

Cảm ơn bạn trước!

cá đuối
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
ồ tôi hiểu rồi, đây là toàn bộ mã. Tôi đã cố thêm vào bản gốc và gặp lỗi. Cảm ơn bạn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào bạn.

Có cách nào để thêm số trang của tài liệu và tôi cũng gặp lỗi và đây là thông báo:
xStr = Dấu cách (LOF (xFileNum))


Cám ơn rất nhiều.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Mã tuyệt vời! Tôi không thể làm cho nó hoạt động trong các thư mục con. Bất cứ ai có thể giúp tôi lời cầu xin?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
voce conseguiu achar uma manira de funcionar em subpastas?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Flavio,
Để nhận số lượng tất cả các tệp PDF từ thư mục và thư mục con, vui lòng áp dụng mã dưới đây:

Sub Test()
Dim I As Long
Dim xRg As Range
Dim xStr As String
Dim xFd As FileDialog
Dim xFdItem As Variant
Dim xFileName As String
Dim xFileNum As Long
Dim RegExp As Object
Set xFd = Application.FileDialog(msoFileDialogFolderPicker)
If xFd.Show = -1 Then
xFdItem = xFd.SelectedItems(1) & Application.PathSeparator
Set xRg = Range("A1")
Range("A:B").ClearContents
Range("A1:B1").Font.Bold = True
xRg = "File Name"
xRg.Offset(0, 1) = "Pages"
I = 2
Call SunTest(xFdItem, I)
End If
End Sub

Sub SunTest(xFdItem As Variant, I As Long)
Dim xRg As Range
Dim xStr As String
Dim xFd As FileDialog
Dim xFileName As String
Dim xFileNum As Long
Dim RegExp As Object
Dim xF As Object
Dim xSF As Object
Dim xFso As Object
xFileName = Dir(xFdItem & "*.pdf", vbDirectory)
xStr = ""
Do While xFileName <> ""
Cells(I, 1) = xFileName
Set RegExp = CreateObject("VBscript.RegExp")
RegExp.Global = True
RegExp.Pattern = "/Type\s*/Page[^s]"
xFileNum = FreeFile
Open (xFdItem & xFileName) For Binary As #xFileNum
xStr = Space(LOF(xFileNum))
Get #xFileNum, , xStr
Close #xFileNum
Cells(I, 2) = RegExp.Execute(xStr).Count
I = I + 1
xFileName = Dir
Loop
Columns("A:B").AutoFit
Set xFso = CreateObject("Scripting.FileSystemObject")
Set xF = xFso.GetFolder(xFdItem)
For Each xSF In xF.SubFolders
Call SunTest(xSF.Path & "\", I)
Next
End Sub


Hãy cố gắng, hy vọng nó có thể giúp bạn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Sim chức năng! muito obrigado

Alguns documentos .pdf estao sendo analisados ​​com 0 trang liêm chính. Saberia me dizer o porque?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Flavio,
Bạn có thể tải lên tệp PDF của mình tại đây để chúng tôi có thể kiểm tra sự cố.
Cảm ơn bạn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Opa, super top, consegue addicionar para aparer o tamanho do arquivo, na terceira coluna ?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, SrdosPDF
Mã VBA sau đây có thể giúp ích cho bạn, hãy thử nó:
Sub Test()
Dim I As Long
Dim xRg As Range
Dim xStr As String
Dim xFd As FileDialog
Dim xFdItem As Variant
Dim xFileName As String
Dim xFileNum As Long
Dim RegExp As Object
Set xFd = Application.FileDialog(msoFileDialogFolderPicker)
If xFd.Show = -1 Then
xFdItem = xFd.SelectedItems(1) & Application.PathSeparator
Set xRg = Range("A1")
Range("A:B").ClearContents
Range("A1:B1").Font.Bold = True
xRg = "File Name"
xRg.Offset(0, 1) = "Pages"
xRg.Offset(0, 2) = "Size(b)"
I = 2
Call SunTest(xFdItem, I)
End If
End Sub

Sub SunTest(xFdItem As Variant, I As Long)
Dim xRg As Range
Dim xStr As String
Dim xFd As FileDialog
Dim xFileName As String
Dim xFileNum As Long
Dim RegExp As Object
Dim xF As Object
Dim xSF As Object
Dim xFso As Object
xFileName = Dir(xFdItem & "*.pdf", vbDirectory)
xStr = ""
Do While xFileName <> ""
Cells(I, 1) = xFileName
Set RegExp = CreateObject("VBscript.RegExp")
RegExp.Global = True
RegExp.Pattern = "/Type\s*/Page[^s]"
xFileNum = FreeFile
Open (xFdItem & xFileName) For Binary As #xFileNum
xStr = Space(LOF(xFileNum))
Get #xFileNum, , xStr
Close #xFileNum
Cells(I, 2) = RegExp.Execute(xStr).Count
Cells(I, 3) = FileLen(xFdItem & xFileName)
I = I + 1
xFileName = Dir
Loop
Columns("A:B").AutoFit
Set xFso = CreateObject("Scripting.FileSystemObject")
Set xF = xFso.GetFolder(xFdItem)
For Each xSF In xF.SubFolders
Call SunTest(xSF.Path & "\", I)
Next
End Sub

Hy vọng điều này có thể giúp bạn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn bạn rất nhiều
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, hoạt động tuyệt vời, cảm ơn bạn đã chia sẻ điều này. Một câu hỏi, là có thể thêm nó cũng tính các tệp microsoft word .doc và .docx không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, sroczeto,
Để đếm số trang của .doc và .docx cũng như các tệp PDF, vui lòng áp dụng mã sau:
Kiểm tra phụ ()
Dim I As Long
Dim xRg theo phạm vi
Làm mờ xStr dưới dạng chuỗi
Làm mờ xFd dưới dạng FileDialog
Dim xFdItem dưới dạng biến thể
Dim xFileName dưới dạng chuỗi
Dim xFileNum càng lâu càng tốt
Dim RegExp làm đối tượng
Dim xWdApp
Mờ xWd
Đặt xFd = Application.FileDialog (msoFileDialogFolderPicker)
Nếu xFd.Show = -1 Thì
Application.ScreenUpdating = Sai
xFdItem = xFd.SelectedItems (1) & Application.PathSeparator
xFileName = Dir (xFdItem & "* .pdf", vbDirectory)
Đặt xRg = Range ("A1")
Phạm vi ("A: B"). ClearContents
Phạm vi ("A1: B1"). Font.Bold = True
xRg = "Tên tệp"
xRg.Offset (0, 1) = "Trang"
I = 2
xStr = ""
Làm trong khi xFileName <> ""
Ô (I, 1) = xFileName
Đặt RegExp = CreateObject ("VBscript.RegExp")
RegExp.Global = Đúng
RegExp.Pattern = "/ Loại \ s * / Trang [^ s]"
xFileNum = FreeFile
Mở (xFdItem & xFileName) Đối với Binary As #xFileNum
xStr = Dấu cách (LOF (xFileNum))
Nhận #xFileNum,, xStr
Đóng #xFileNum
Cells (I, 2) = RegExp.Execute (xStr) .Count
tôi = tôi + 1
xFileName = Dir
Vòng lặp
xFileName = Dir (xFdItem & "* .docx", vbDirectory)
Đặt xWdApp = CreateObject ("Word.Application")
Làm trong khi xFileName <> ""
Ô (I, 1) = xFileName
xFileNum = FreeFile
Đặt xWd = GetObject (xFdItem & xFileName)
Cells (I, 2) = xWd.ActiveWindow.Panes (1) .Pages.Count
xWd. Đóng Sai
tôi = tôi + 1
xFileName = Dir
Vòng lặp
Các cột ("A: B"). AutoFit
Cuối Nếu
Application.ScreenUpdating = True
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn bạn đời! Nó hoạt động trên pdf và docx, nhưng không hoạt động trên các tệp doc. Và một câu hỏi nữa, bạn có thể giải thích rằng điều này cũng sẽ được tính trong các thư mục con không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi đã mở một tệp pdf mà đường dẫn và tên của người được đề cập đến trong cột ô excel "C9". Tôi chỉ muốn lấy số trang cuối cùng trong excel vba, vui lòng giúp tôi với
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, điều này thực sự hoạt động tốt, cảm ơn bạn. Có thể lấy kích thước trang của trang đầu tiên trong một cột mới không? ví dụ 8.5 x 11, 11 x 17, v.v.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, cách này hoạt động rất tốt, cảm ơn !, có thể lấy kích thước trang cho trang đầu tiên của tài liệu PDF không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào bạn,
Có thể cũng nhận được kích thước của các trang và trình tạo pdf trong macro này không?
Ai đó có thể giúp tôi với điều này?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
có cách nào để bao gồm .doc Tôi nhận thấy rằng nó hoạt động cho .docx nhưng không .doc
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, John, Để đếm các trang .doc và .docx cũng như các tệp PDF, vui lòng áp dụng mã sau: Thống kê phụ Trang ()
Dim I As Long
Dim xRg theo phạm vi
Làm mờ xStr dưới dạng chuỗi
Làm mờ xFd dưới dạng FileDialog
Dim xFdItem dưới dạng biến thể
Dim xFileName dưới dạng chuỗi
Dim xFileNum càng lâu càng tốt
Dim RegExp làm đối tượng
Dim xWdApp
Mờ xWd
Đặt xFd = Application.FileDialog (msoFileDialogFolderPicker)
Nếu xFd.Show = -1 Thì
Application.ScreenUpdating = Sai
xFdItem = xFd.SelectedItems (1) & Application.PathSeparator
xFileName = Dir (xFdItem & "* .pdf", vbDirectory)
Đặt xRg = Range ("A1")
Phạm vi ("A: B"). ClearContents
Phạm vi ("A1: B1"). Font.Bold = True
xRg = "Tên tệp"
xRg.Offset (0, 1) = "Trang"
I = 2
xStr = ""
Làm trong khi xFileName <> ""
Ô (I, 1) = xFileName
Đặt RegExp = CreateObject ("VBscript.RegExp")
RegExp.Global = Đúng
RegExp.Pattern = "/ Loại \ s * / Trang [^ s]"
xFileNum = FreeFile
Mở (xFdItem & xFileName) Đối với Binary As #xFileNum
xStr = Dấu cách (LOF (xFileNum))
Nhận #xFileNum,, xStr
Đóng #xFileNum
Cells (I, 2) = RegExp.Execute (xStr) .Count
tôi = tôi + 1
xFileName = Dir
Vòng lặp
xFileName = Dir (xFdItem & "* .docx", vbDirectory)
Đặt xWdApp = CreateObject ("Word.Application")
Làm trong khi xFileName <> ""
Ô (I, 1) = xFileName
xFileNum = FreeFile
Đặt xWd = GetObject (xFdItem & xFileName)
Cells (I, 2) = xWd.ActiveWindow.Panes (1) .Pages.Count
xWd. Đóng Sai
tôi = tôi + 1
xFileName = Dir
Vòng lặp
xFileName = Dir (xFdItem & "* .doc", vbDirectory)
Đặt xWdApp = CreateObject ("Word.Application")
Làm trong khi xFileName <> ""
Ô (I, 1) = xFileName
xFileNum = FreeFile
Đặt xWd = GetObject (xFdItem & xFileName)
Cells (I, 2) = xWd.ActiveWindow.Panes (1) .Pages.Count
xWd. Đóng Sai
tôi = tôi + 1
xFileName = Dir
Vòng lặp
Các cột ("A: B"). AutoFit
Cuối Nếu
Application.ScreenUpdating = True
End SubXin vui lòng cố gắng, hy vọng nó có thể giúp bạn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn điều này sẽ giúp rất nhiều.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, tôi có một thư mục có nhiều thư mục con Làm cách nào để chỉ định Đường dẫn thư mục mẹ mà không cần chọn theo cách thủ công. Sau đó, cũng là đầu ra tên của thư mục con. Cảm ơn trước 
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
HI đã sắp xếp, tôi đã chỉnh sửa mã loại bỏ XFD và đặt filpath là xfditem
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào Skyyang, Đầu tiên, tôi muốn cảm ơn bạn vì công việc đáng kinh ngạc mà bạn đã làm, và thời gian bạn đã bỏ ra ... Tôi đang tìm kiếm một mã VBA trong một thời gian: Tôi có một Excelsheet với trong cột "J" một danh sách của các tệp pdf, xlsx và elm nằm trong thư mục phòng dữ liệu (với thư mục con) Tên tệp hoàn chỉnh với loại X: \ Data_Room \ Sub_directory_1 \ file.pdf Mã phải điền vào cột "I" với số trang của mỗi tệp .pdf và các tệp .xls (không cần tệp khác, cels nên để trống) Bạn có thể vui lòng giúp tôi được không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Bất kỳ cơ hội nào điều này có thể được mở rộng để lấy số Bates từ trang đầu tiên của mỗi pdf?
Không có bình luận nào được đăng ở đây
Tải thêm
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL