Como sugirió, he hecho cambios pero todavía no puedo hacerlo fácil de usar o puede decir que cada vez que tenga que usar este código tengo que activar Scripting Runtime en diferentes computadoras.
Por favor sugiera y corrija mi código lo antes posible.
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
1
No somos un sitio web de revisión de código, y tampoco Stackoverflow, esta pregunta está fuera del alcance del Superusuario
—
Ramhound
Bienvenido a SuperUser. Por lo general, los usuarios de aquí quieren ver lo que has tratado de resolver tu problema, solo para que quede claro que no estás preguntando "Oye, ¿alguien hará mi trabajo por mí? Si agrega un poco de detalle que muestre lo que ha intentado o las ideas que tiene pero no sabe cómo implementar, es más probable que obtenga votos y respuestas.
—
nixda