Wenn Sie wdOBJ als spätes Binding instanziieren, sollten Sie es als Object und nicht als Word.Application dimensionieren. Danach sollten Sie die Referenz entfernen können.
Wie entferne ich den Verweis und verwende vba-Code für jede Maschine?
472
Atul Bihari
Wie Sie angedeutet haben, habe ich Änderungen vorgenommen, aber ich bin nicht in der Lage, sie benutzerfreundlich zu gestalten, oder Sie können jedes Mal sagen, wenn ich diesen Code verwenden muss, muss ich Scripting Runtime auf verschiedenen Computern aktivieren.
Bitte schlagen Sie vor und korrigieren Sie meinen Code so schnell wie möglich
Sub GetFileNamesandPageCount() Option Explicit Public fs As Object Dim diaFolder As FileDialog Set fs = CreateObject("Scripting.FileSystemObject") Dim i As Integer Dim fld As Object Dim T_Str As String Set diaFolder = Application.FileDialog(msoFileDialogFolderPicker) diaFolder.AllowMultiSelect = False diaFolder.Show If diaFolder.Show = -1 Then T_Str = diaFolder.SelectedItems(1) Else Set diaFolder = Nothing End If Set fld = fs.getfolder(T_Str) Dim wdOBJ As Word.Application Dim wdDoc As Object Dim fd As Object Sheet1.UsedRange.Clear Sheet1.Range("A1") = "Document Name" Sheet1.Range("B1") = "Page Count" Sheet1.Range("A1:B1").Font.Bold = True Sheet1.Columns("A:A").ColumnWidth = 70 Sheet1.Columns("B:B").AutoFit Sheet1.Range("A1:B1").Interior.ColorIndex = 37 fs.GetSpecialFolder (1) Set wdOBJ = CreateObject("Word.Application") wdOBJ.Visible = True i = 1 For Each fd In fld.Files If (InStr(1, fd, ".doc") > 0) Or (InStr(1, fd, ".docx") > 0) Or (InStr(1, fd, ".docm") > 0) Or (InStr(1, fd, ".doct") > 0) Or (InStr(1, fd, ".pdf") > 0) Then Sheet1.Range("A" & i + 1) = fd.Name Set wdDoc = wdOBJ.Documents.Open(CStr(fd)) wdDoc.ComputeStatistics (wdStatisticPages) Sheet1.Range("B" & i + 1) = wdDoc.BuiltinDocumentProperties(14) wdDoc.Close False End If i = i + 1 Next fd wdOBJ.Quit False End Sub
Wir sind keine Code-Review-Website und auch Stackoverflow. Diese Frage liegt nicht im Bereich von Superuser
Ramhound vor 8 Jahren
1
Willkommen bei SuperUser. Normalerweise möchten Benutzer hier sehen, was Sie versucht haben, um Ihr Problem zu lösen. Es ist nur klar, dass Sie nicht fragen "Hey, wird jemand meine Arbeit für mich erledigen?" Wenn Sie ein wenig Details hinzufügen, die zeigen, was Sie ausprobiert haben oder welche Ideen Sie haben, aber nicht wissen, wie sie umgesetzt werden sollen, erhalten Sie mit größerer Wahrscheinlichkeit positive Bewertungen und Antworten.
nixda vor 8 Jahren
0
1 Antwort auf die Frage
-1
Julian Kuchlbauer
Verwandte Probleme
-
6
Wie gut ist der Passwortschutz von Word?
-
4
Eingebettetes Flash-Video in MS Word-Dokument (2003 oder 2007)
-
1
Wie lassen sich Menüs in MS Word 2003 standardmäßig "vollständig" öffnen?
-
1
Office 2007 - Quellen in Word referenzieren
-
6
Gibt es eine Tastenkombination, um den ausgewählten Text in MS Word 2007 hervorzuheben?
-
2
Word 2007 öffnet ältere Dateien nicht
-
3
Minimieren Sie die Dateigröße von Microsoft Word-Dokumenten
-
6
Empfehlung für eine einfache (japanische) Textverarbeitung
-
1
Gibt es mit OpenOffice.org eine Möglichkeit, nicht nur den Inhalt, sondern auch die Kommentare zu ei...
-
2
Konvertieren Sie Excel 4.0-Makro in VBA