Excel e gli applicativi Microsoft Office Stranezze di Word

Login Registrati
Stai vedendo 11 articoli - dal 1 a 11 (di 11 totali)
  • Autore
    Articoli
  • #46376 Score: 0 | Risposta

    alfrimpa
    Partecipante
      33 pts

      Qualcuno mi sa dire perchè pure essendo prevista dall'Intellisense del VBA di Word un tipo di variabile denominata Word

      quando vado a compilare il codice mi dà errore

      Se invece scrivo semplicemente Dim parola (senza specificare il tipo) la macro funziona senza problemi.

      Avevo messo due immagini su PostImages ma non so come inserirle qui

      Ringrazio in anticipo che volesse chiarire l'arcano

      #46377 Score: 0 | Risposta

      gianfranco55
      Partecipante
        91 pts

        ciao

        Al penso le debba allegare da percorso PC

         

        #46378 Score: 0 | Risposta

        alfrimpa
        Partecipante
          33 pts

          Ma alla fine non è necessario.

          In un modulo di documento Word basta scrivere Dim parola As nel momento in cui scrivi As si apre l'Intellisense mostrandoti tutte le voci tra le quali scegliere quella pertinente e come c'è String, Integer ecc. c'è anche Word.

          Quindi se è scritto Dim parola As Word e compilo il codice questo va in errore

          Ad esempio se su un documento word ho scritti vari indirizzi mail questa macro me li conta

          Sub ContaIndirizziMail()
          Dim para As Paragraph
          Dim paro
          Dim cnt As Long
          Dim rng As Object
          Set rng = ActiveDocument.Content
          For Each para In ActiveDocument.Paragraphs
              For Each paro In para.Range.Words
              If InStr(paro, "@") <> 0 Then
              cnt = cnt + 1
              End If
              Next
          MsgBox cnt
          End Sub

           

          Ma se scrivo Dim paro as Word la macro va in errore.

          Qui mi sa che ci vuole Vecchio Frac

           

           

          #46379 Score: 0 | Risposta

          vecchio frac
          Senior Moderator
            272 pts

            Va in errore perche' Word e' la libreria, lo spazio dei nomi, e non puo' essere istanziato.

            Esiste l'insieme Words ma il singolo elemento non e' Word... e al momento non riesco a individuarlo 🙂

            #46380 Score: 0 | Risposta

            alfrimpa
            Partecipante
              33 pts

              Ma allora perchè se scrivo Dim paro e poi  For Each paro In para.Range.Words funziona?

              Io pensavo che Word nell'intellisense fosse un tipo di variabile al pari di Integer, String ecc. 

              #46385 Score: 0 | Risposta

              vecchio frac
              Senior Moderator
                272 pts

                Nel tuo esempio "paro" e' Variant e quindi un tipo indefinito, che occupa un mucchio di byte... Bisogna cercare qual e' ogni oggetto che identifica l'insieme Words. Molto probabilmente e' un insieme di Characters. Vai di Visualizzatore Oggetti e spulcialo 🙂

                #46388 Score: 0 | Risposta

                vecchio frac
                Senior Moderator
                  272 pts

                  Trovato, e' Item.

                  Sicche' Words.Item e' l'elemento che cercavamo e quando iteri in Words di fatto ottieni un oggetto Item che ritorna un oggetto di tipo Range (non nel senso di Excel naturalmente).

                  https://learn.microsoft.com/it-it/office/vba/api/word.words.item

                  #46396 Score: 0 | Risposta

                  LucaSR
                  Partecipante
                    15 pts

                    Non è che bisognerebbe referenziare una libreria? La butto lì!

                    #47190 Score: 0 | Risposta

                    alexps81
                    Moderatore
                      58 pts

                      Ma poi questo Thread è morto cosi? Strano che non c'è alcun riscontro. Altrove sarebbero partiti missili terraria.

                      #47312 Score: 0 | Risposta

                      vecchio frac
                      Senior Moderator
                        272 pts

                        alexps81 ha scritto:

                        Altrove sarebbero partiti missili terraria

                        #47317 Score: 0 | Risposta

                        tanimon
                        Partecipante
                          16 pts

                          alexps81 ha scritto:

                          Ma poi questo Thread è morto cosi? Strano che non c'è alcun riscontro. Altrove sarebbero partiti missili terraria.

                          non è il primo caso.

                           ce ne sono altri ed ancora ce ne saranno... e pure senza file di esempio allegato

                          Stampa in PDF escludendo la formattazione condizionale

                          Cit. "chi è senza peccato scagli la prima pietra"

                          fonte: https://it.wikipedia.org/wiki/Qui_sine_peccato_est_vestrum_primus_lapidem_mittat

                           

                        Login Registrati
                        Stai vedendo 11 articoli - dal 1 a 11 (di 11 totali)
                        Rispondi a: Stranezze di Word
                        Gli allegati sono permessi solo ad utenti REGISTRATI
                        Le tue informazioni: