Copiare ed incollare selection word senza passare per Clipboard. Possibile?

di il
5 risposte

Copiare ed incollare selection word senza passare per Clipboard. Possibile?

Buongiorno a tutti.
Sto cercando di eliminare un passaggio per la generazione di documenti word da access, non voglio più passare per la clipboard.
Quello che sto cercando di fare è utilizzare una variabile Object globale alla quale assegnare la selection di Word, ma al momento di inserire non trovo un comando della range o della selection che mi inserirsca nel documento voluto al bookmark indicato il contenuto della variabile, mi tocca fare un paste della clipboard.
L'unica altra soluzione che ho individuato sarebbe l'insertfile della selection, ma significa che mi tocca andare sul disco, scrivere leggere eccetera, ho paura che diventi molto lento, non che abbia fretta eh, ma preferirei usare la memoria...
Che poi, è possibile effettivaente assegnare una selection ad un object con tutto il necessario (formattazione eccetera)?

5 Risposte

  • Re: Copiare ed incollare selection word senza passare per Clipboard. Possibile?

    DrugOne ha scritto:


    ...
    Quello che sto cercando di fare è utilizzare una variabile Object globale alla quale assegnare la selection di Word, ma al momento di inserire non trovo un comando della range o della selection che mi inserirsca nel documento voluto al bookmark indicato il contenuto della variabile, mi tocca fare un paste della clipboard.
    Hai postato nella sezione Access ma questo è VBA puro di Word.
    Potresti pubblicare qualcosa di quello che hai già fatto?
    Nota a margine: durante lo sviluppo usi l'earlybinding con l'aiuto dell'intellisense mi auguro.
    Vado subito in edit, spero non sia troppo tardi.
    Guarda l'esempio riportato nella pagina che tratta il metodo Copy di Range
    https://docs.microsoft.com/en-us/office/vba/api/word.range.copy
    This example copies the first paragraph in the active document and pastes it at the end of the document.
    
    ActiveDocument.Paragraphs(1).Range.Copy 
    Set myRange = ActiveDocument.Range _ 
     (Start:=ActiveDocument.Content.End - 1, _ 
     End:=ActiveDocument.Content.End - 1) 
    myRange.Paste
  • Re: Copiare ed incollare selection word senza passare per Clipboard. Possibile?

    Ciao, scusate, ho postato su MSaccess poichè il codice sta su una form di access, quindi i comandi sono leggermenti diversi da quelli fatti da un documento word.
    Il fatto è che copy e paste usano la clipboard, che è quello che voglio evitare.
    Per farti un esempio è un'attimo complesso, ho calssi e funzioni un po sparse, per questo mi serve una sorta di oggetto pubblico.
  • Re: Copiare ed incollare selection word senza passare per Clipboard. Possibile?

    Il vba di Word è perfettamente riutilizzabile in Access ovviamente devi avere la competenza per capire che va applicato agli oggetti giusti di Word evitando i riferimenti tipici di applicazione come ActiveDocument senza il riferimento esplicito dell'appartenenza... all'oggetto WordApplication che devi istanziare.

    Quindi istanzi l'oggetto Word.application
    Apri un oggetto document
    E su quello applichi il codice vba generato dalle macro word
    Chiaramente ho semplificato molto ma più di così significa scriverti il codice dal momento che parliamo di 5 righe...

    Tuttavia non comprendo l'avversione per la clipboard... ma immagino sia perché con Access non è nativa e devi usare le API.
  • Re: Copiare ed incollare selection word senza passare per Clipboard. Possibile?

    Si si, lo so è pwrfettamente riutilizzabile ma ha una grammatica leggermente diversa, per esempio su parametri di funzione, se avessi dovuto postare codice eventualmente.
    Inoltro utilizzo normalmente dei docm in modo da chiamare funzioni del documento da access.
    L'avversione per la clipboard nasce dal fatto che l'utente la potrebbe usare facendo altro, quindi non è mai sotto il mio perfetto controllo, a meno che non mi sfugga un modo per farlo.
  • Re: Copiare ed incollare selection word senza passare per Clipboard. Possibile?

    E raramente, con criterio che non capisco, mi fallisce di copiare la clipboard.
Devi accedere o registrarti per scrivere nel forum
5 risposte