Вставьте и отцентрируйте изображение в документе с помощью Visual Basic - PullRequest
0 голосов
/ 16 апреля 2019

У меня есть код, который вставляет изображение в текстовый документ.

   Set objSelection = objWord.Selection
   Set objShapes = objDoc.InlineShapes
   objShapes.AddPicture ("<%=archivo_temporal%>")  

Можно ли как-нибудь центрировать изображение?Я попытался с objSelection.ParagraphFormat.Alignment = wdAlignParagraphCenter

Но это не работает.

Он весь код:

Sub OpenDoc(strLocation)

    Dim iOut
    Dim oElement
    Dim objWord
    Dim doc


    Set objWord = CreateObject("Word.Application")
    objWord.Visible = true
    objword.Activate 

    Set objDoc = objWord.Documents.Open(strLocation)

    codigo_barras_b64 = DecodeString("<%=codigo_barras_b64%>")

    set FSObj = Createobject("Scripting.FileSystemObject")  

    set file = FSObj.CreateTextFile("<%=archivo_temporal%>", true)          
    file.write (codigo_barras_b64)    
    set file = nothing

   Set objSelection = objWord.Selection
   objSelection.ParagraphFormat.Alignment = wdAlignParagraphCenter
   Set objShapes = objDoc.InlineShapes
   objShapes.AddPicture ("<%=archivo_temporal%>")  




    iOut = objword.ActiveDocument.Variables.Add("Secretaria", "<%=sLimpiarTextArea(sValor(RSCarat, "secreDescrip"))%> ")'
    iOut = objword.ActiveDocument.Variables.Add("Autos", "<%=sLimpiarTextArea(sValor(RSCarat, "expeAutos"))%> ")
    iOut = objword.ActiveDocument.Variables.Add("Sobre", "<%=sLimpiarTextArea(sValor(RSCarat, "expeSobre"))%> ")
    iOut = objword.ActiveDocument.Variables.Add("En",  "<%=sLimpiarTextArea(sValor(RSCarat, "expeEn"))%> ")
    iOut = objword.ActiveDocument.Variables.Add("Juez",  "<%=sLimpiarTextArea(sValor(RSCarat, "juezNombres"))%> ")
    iOut = objword.ActiveDocument.Variables.Add("ExpNro",  "<%=sLimpiarTextArea(sValor(RSCarat, "expeNro"))%> ")
    iOut = objword.ActiveDocument.Variables.Add("Fecha",  "<%=sLimpiarTextArea(sValor(RSCarat, "fechaInicio"))%> ")

    objWord.ActiveDocument.Fields.Update
    objWord.ActiveDocument.SaveAs "c:\temp\tsj.doc" 
    objWord.Application.Activate



    ' Borra el archivo generado 
    Set MyFile = FSObj.GetFile("<%=archivo_temporal%>")
    MyFile.Delete

    set FSObj = nothing 
    Set objWord = Nothing
End Sub

Любая идея будет оценена.

1 Ответ

0 голосов
/ 17 апреля 2019

Вы можете, например, заменить:

Set objSelection = objWord.Selection
objSelection.ParagraphFormat.Alignment = wdAlignParagraphCenter

с:

objWord.Range.ParagraphFormat.Alignment = wdAlignParagraphCenter

В качестве альтернативы вы можете заменить:

Set objSelection = objWord.Selection
objSelection.ParagraphFormat.Alignment = wdAlignParagraphCenter
Set objShapes = objDoc.InlineShapes
objShapes.AddPicture ("<%=archivo_temporal%>")

с:

Set objShapes = objDoc.InlineShapes.AddPicture ("<%=archivo_temporal%>")  
objShapes.Range.ParagraphFormat.Alignment = wdAlignParagraphCenter
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...