كيفية إضافة مكتبة pdfsharp DLL إلى مراجع VBA لـ Macro Excel

برمجة


لدي الكود التالي، ولكن لتشغيله، الشرط الأساسي هو تثبيت مكتبة PDFsharp ولا أستطيع إضافة المرجع في Excel VBA.

استخراج الجزء الأكبر من PDF ()
“المرجع: مكتبة PDFsharp

‘حدد مسار المجلد الذي يحتوي على ملفات PDF
تعتيم مسار المجلد كسلسلة
FolderPath = “C:\Users\vlad.zaicescu\Desktop\PDF-to-Excel\sample_invoice”

‘قم بإنشاء مصنف Excel وورقة عمل جديدة
خافت wb كمصنف
تعيين wb = Workbooks.Add

خافت WS كورقة عمل
تعيين ws = wb.Sheets(1)

‘قم بتعيين صف البداية لإدراج البيانات المستخرجة
خافت startRow كعدد صحيح
صف البداية = 1

احصل على جميع ملفات PDF الموجودة في المجلد
خافت pdfFiles () كسلسلة
pdfFiles = GetPDFFilesInFolder(folderPath)

قم باستخراج البيانات من كل ملف PDF وإدراجها في برنامج Excel
خافت ط كعدد صحيح
لأني = LBound(pdfFiles) إلى UBound(pdfFiles)
خافت pdfPath كسلسلة
pdfPath = FolderPath وpdfFiles(i)

خافت البيانات المستخرجة كسلسلة
extractedData = ExtractDataFromPDF(pdfPath)

أدخل البيانات المستخرجة في ورقة عمل Excel
ws.Cells(startRow, 1).Value = pdfFiles(i) ‘أدخل اسم ملف PDF
ws.Cells(startRow, 2).Value = extractedData ‘أدخل البيانات المستخرجة

ستارت رو = ستارت رو + 1
بعدها انا

قم باحتواء الأعمدة تلقائيًا في ورقة عمل Excel
ws.Columns.AutoFit

‘ احفظ المصنف
خافت savePath كسلسلة
savePath = “C:\Path\to\save\output.xlsx”

wb.SaveAs savePath

‘ أغلق المصنف وقم بتنظيفه
wb.Close
تعيين ws = لا شيء
تعيين wb = لا شيء

MsgBox “تم الاستخراج المجمع. تم حفظ الإخراج في: ” & savePath
نهاية الفرعية

وظيفة GetPDFFilesInFolder (ByVal FolderPath As String) As String ()
احصل على جميع ملفات PDF في المجلد المحدد

خافت الملفات () كسلسلة
خافت fileCount كعدد صحيح
عدد الملفات = 0

اسم الملف خافت كسلسلة
اسم الملف = دير (مجلد المسار & “*.pdf”)

افعل بينما اسم الملف <> “”
ReDim الاحتفاظ بالملفات (0 إلى عدد الملفات)
الملفات (fileCount) = fileName

عدد الملفات = عدد الملفات + 1
اسم الملف = دير
حلقة

GetPDFFilesInFolder = files
وظيفة النهاية

وظيفة ExtractDataFromPDF (ByVal pdfPath كسلسلة) كسلسلة
استخراج البيانات من ملف PDF باستخدام PDFsharp

‘إنشاء مستند PDF
تعتيم المستند كـ PdfSharp.Pdf.PdfDocument جديد

“افتح ملف PDF
وثيقة.فتح (pdfPath)

‘استخرج النص من كل صفحة
خافت البيانات المستخرجة كسلسلة
البيانات المستخرجة = “”

خافت عدد الصفحات كعدد صحيح
عدد الصفحات = document.PageCount

خافت ط كعدد صحيح
لأني = 0 إلى عدد الصفحات – 1
تعتيم الصفحة باسم PdfSharp.Pdf.PdfPage
الصفحة = الوثيقة. الصفحات (ط)

تعتيم المحتوى باسم PdfSharp.Pdf.Content.PdfContentReader
المحتوى = PdfSharp.Pdf.Content.PdfContentReader(صفحة) جديد

بينما المحتوى.قراءة ()
إذا كان content.GetType() هو GetType(PdfSharp.Pdf.Content.PdfLiteral) إذن
خافت حرفي مثل PdfSharp.Pdf.Content.PdfLiteral
الحرفي = DirectCast(المحتوى، PdfSharp.Pdf.Content.PdfLiteral)

extractedData = extractedData & literal.Value
إنهاء إذا
نهاية بينما
بعدها انا

“أغلق مستند PDF.”
وثيقة.إغلاق

ExtractDataFromPDF = extractedData
وظيفة النهاية

ما حاولت:

لقد قمت بإنشاء فصل دراسي في الاستوديو المرئي، وقمت بتثبيت مكتبة PDFsharp من خلال مدير الحزم NuGet وقمت ببناء الحل لتلقي DLL الذي يمكنني استخدامه كمرجع في Excel VBA. ومع ذلك، عندما أحاول إضافة DLL لا أستطيع. علاوة على ذلك، حاولت فقط إضافة ملف PDFsharp DLL من حزمة NuGet، ولكن الأمر فشل أيضًا.
يرجى مشاهدة الفيديو النسخي هنا: https://app.screencast.com/MJmEkYKUsnGsw

コメント

タイトルとURLをコピーしました