Вопрос

Общая цель - принять RTF отформатированный текст в Excel и преобразовать его в HTML.Мне не удалось добраться до Excel, чтобы ответить разумным способом, так что пытался использовать слово.Я могу преобразовать слово без проблем, поэтому хочу автоматизировать процесс, скопировав Excel со клетки, вставляю в слово, а затем запустить код для преобразования форматирования в то, как я хочу.

Я бегу в проблему, когда я вставляю в слово из Excel VBA, паста успешна, но затем она перепрыгивает на 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
.

Я попробовал использовать WOOTDOC, так и WOOTAPP, так и в пасте, так и неспециализированном, но он всегда имеет тот же результат.

У кого-нибудь есть какие-либо идеи относительно того, что происходит здесь, или как остановить его от того, что он всегда заканчивается после пасты.

Редактировать: Я проверил это, и он работал на Office 2010. Он не работает на Office 2013.

Это было полезно?

Решение 2

, кажется, решается.Отладчик VBA не может понять, что происходит после того, как оно попадает в раздел Wordapp, и поэтому код появится , чтобы перейти к концу секции.

Дополнительно, кажется, что любые изменения слов должны быть выполнены в разделе «Генеракодицетагкод», поскольку он может быть немного нечетным при правильном ударе ударенного удара в течение которого (хотя никогда не выясняется, почему не хватает коробки сообщений в первый раз).>

Спасибо @brettdj за помощь с тестированием и извинения за мою ошибку в понимании того, что происходит.

Другие советы

Это работало нормально для меня, как это

Но предложить вам попробовать эти настройки, чтобы увидеть, если это работает (AppActivate избыточна).

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

MAIN

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
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top