Condividi tramite

errore run time '-2147023170(800706be)

Anonimo
2015-07-09T09:00:03+00:00

ciao a tutti, uso questo codice per inserire un immagine che ho su excel nell'intestazione di un foglio Word, probabilmente non definisco bene qualche oggetto e incappo in un errore di run time  '-2147023170(800706be). L'errore non mi viene dato se setto il Placement del metodo PasteSpecial a 1 invece che a 0 (mi serve lo 0). Come mai? Grazie mille

Dim WApp As Word.Application

Dim WDoc As Word.Document

Set WApp = New Word.Application

WApp.Visible = False

Filename = "C:\Users\salvatore.marchese\Desktop\img1\test1.docx"

Set WDoc = WApp.Documents.Open(Filename)

WApp.Visible = True

ThisWorkbook.Sheets("Foglio1").Shapes("Travaglia1").Select

Selection.Copy

 WDoc.Sections(1).Headers(1).Range.Bookmarks("Free").Select

WApp.Selection.PasteSpecial Link:=False, DisplayAsIcon:=False, _

                DataType:=3, Placement:=0 'inserendo placement:=1 non dà errore!

WDoc.SaveAs Filename

WDoc.Close

WApp.Quit

Set WDoc = Nothing

Set WApp = Nothing

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

  1. Anonimo
    2015-07-10T14:31:32+00:00

    Ciao SalvatoreMarchese18.

    Il parametro Placement nel metodo PasteSpecial dell'oggetto Range dell'object model di Word permette di definire una caratteristica che probabilmente non è supportata nel punto in cui stai cercando di effettuare l'inserimento.

    Se mi rifaccio a questa documentazione:

    https://msdn.microsoft.com/en-us/library/office/ff191763.aspx

    vedo che l'enumerazione WdOLEPlacement prevede effettivamente solo i valori 0 e 1 con queste accezioni:

    wdFloatOverText 1 Float over text.
    wdInLine 0 In line with text.

    Più semplicemente il punto in cui stai cercando di fare l'IncollaSpeciale non supporto la modalità "Float over text". Se provi a fare manualmente le stesse operazioni che eseguono le tue macro vedrai che nemmeno dall'applicazione riuscirai a farlo, partendo da quell'oggetto selezionato ed incollato esattamente in quel punto finale.

    Ciao

    Roberto

    La risposta è stata utile?

    0 commenti Nessun commento

0 risposte aggiuntive

Ordina per: Più utili