Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
...
sto impazzendo..... grazie per una risposta
Per verificare se effettivamente tutti i segnalibri che andrai a compilare sono presenti nel documento puoi far girare la macro allegata, dopo aver indicato il file da controllare nella riga evidenziata.
Sarebbe buona cosa, comunque, inserire una gestione degli errori per gestire proprio questi piccoli problemi. Sempre la macro allegata potrà essere d'aiuto anche in questo senso.
Public Sub ListWordBookmarks()
Dim wdApp As Object, wdDoc As Object, wdBmk As Object
Dim sFileName As String
Dim lRow As Long
On Error GoTo Uffa
sFileName = "C:\Cartella\Documento.docx"
'--- get word object
On Error Resume Next
Set wdApp = GetObject(, "Word.Application")
If Err.Number Then Set wdApp = CreateObject("Word.Application")
Err.Clear
On Error GoTo 0
Set wdDoc = wdApp.Documents.Open(sFileName, AddToRecentFiles:=False, Visible:=False)
With ThisWorkbook.Worksheets.Add
lRow = lRow + 1
.Cells(lRow, 1).value = "Bookmark Name"
.Cells(lRow, 2).value = "Bookmark Contents"
For Each wdBmk In wdDoc.Range.Bookmarks
lRow = lRow + 1
.Cells(lRow, 1).value = wdBmk.Name
.Cells(lRow, 2).value = wdBmk.Range.text
Next
.UsedRange.Columns.AutoFit
End With
ExitHere:
Application.StatusBar = False
If Not wdDoc Is Nothing Then wdDoc.Close
If Not wdApp Is Nothing Then wdApp.Quit
Set wdDoc = Nothing: Set wdDoc = Nothing: Set wdApp = Nothing
Exit Sub
Uffa:
On Error Resume Next
Call MsgBox("Ohibò, si è verificato il seguente errore: " & vbNewLine & _
CStr(Err.Number) & ": " & Err.Description & vbNewLine & vbNewLine & _
"Bookmark in elaborazione: " & wdBmk.Name, _
vbCritical + vbOKOnly, "Error message")
Resume ExitHere
End Sub