Pregunta

El objetivo general es tomar RTF formato de texto en Excel y convertirlo a HTML.He sido incapaz hasta ahora de conseguir Excel para responder en una forma sensata de lo intentó el uso de la Palabra.Soy capaz de convertir en Word sin problema lo desea automatizar el proceso de copia de la célula fuera de Excel, pegar en Word y, a continuación, se ejecuta el código para convertir el formato en la forma que yo quiero.

Estoy corriendo en un problema que cuando me pegue en Word de VBA de Excel, la pasta es un éxito, pero, a continuación, salta a la End Sub.

Sub webtext(r As String)
    Range(r).Copy
    Dim wordApp As Word.Application
    Dim wordDoc As Word.Document
    Set wordApp = CreateObject("word.Application")
    Set wordDoc = wordApp.Documents.Add
    wordApp.Visible = True
    wordApp.Activate

    wordApp.Selection.PasteSpecial

    'Any code here is missed out
    z = MsgBox("tada") 'this will never trigger
    x=5 'this will never set
    With wordDoc
        'Operations on the text pasted would happen here
        'but vba never gets here.
    End With

'Code jumps to here
End Sub

He intentado utilizar tanto wordDoc y wordApp, y tanto la pasta y pastespecial pero siempre tiene el mismo resultado.

¿Alguien tiene alguna idea de lo que está pasando aquí o cómo pararlo desde siempre termina después de la pasta.

EDITAR:He probado esto y se trabajó en la Oficina de 2010.No funciona en Office 2013.

¿Fue útil?

Solución 2

parece ser resuelto.El depurador de VBA no puede entender lo que está sucediendo después de que llegue a la sección WordApp y, por lo tanto, el código aparece para saltar al final de la sección.

Además, parece que cualquier alteración de palabras debe realizarse dentro de la sección GeneralCodicEtCode, ya que puede ser un poco extraño en golpear el código correctamente en medio (aunque nunca se descubrió por qué faltaba el cuadro de mensajes por primera vez).

Gracias @brettdj para obtener ayuda con las pruebas y disculpas por mi error en la comprensión de lo que estaba pasando.

Otros consejos

Funcionó muy bien para mí como es

Pero sugerimos que pruebes estos ajustes para ver si esto funciona (AppActivate es redundante).

Sub StartIt()
Call webtext("a1:a10")
End Sub

principal

Sub webtext(r As String)
    Range(r).Copy
    Dim wordApp As Word.Application
    Dim wordDoc As Word.Document
    Set wordApp = New Word.Application
    Set wordDoc = wordApp.Documents.Add
    wordApp.Visible = True

    With wordDoc
    .ActiveWindow.Selection.Paste
    End With

End Sub
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top