Помогите исправить ошибку в коде

Языки ASM, Pascal, C/C++, Perl, Delphi, PHP, Java...
Программируем сами, помогаем друг другу...

Модераторы:Al_lexx, Sharp, ionika, Happy_MAN, 0xFF, Atom, Serega S.U.

Ответить
TillLinderman
Сообщения:919
Зарегистрирован:08 июн 2006, 20:11
Помогите исправить ошибку в коде

Сообщение TillLinderman » 20 авг 2008, 10:15

Всем добрый день! Есть код VB6 с помощью которого открывается документ MSWord2003 затем там выделяется таблица и преобразовывается в текст с разделителем ";"
Разделитель заменяется на пробел.Все. Проблема возникает при выполнении этой строки:".Selection.Tables(1).Select" программа ругается на то что семейство отсутствует. Можно ли как то решить проблему? (Использовать макрос и править очень хорошо но нужно выполнить указанные операции именно в данном коде)

Private Sub Command1_Click()
Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Open("путь к моему документу")
With objWord
.Visible = True
.Selection.Tables(1).Select
.Selection.Rows.ConvertToText Separator:=wdSeparateByCommas, NestedTables:=True
.Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = ";"
.Replacement.Text = " "
.MatchCase = 0
.MatchWholeWord = 0
.MatchWildcards = 1
.MatchSoundsLike = 0
.MatchAllWordForms = 0
.Forward = 1
.Wrap = 1
.Format = 0
.Execute , , , , , , , , , , wdReplaceAll
End With
objDoc.SaveAs "путь и имя сохраняемого файла", wdFormatText
objWord.Quit
End Sub

Аватара пользователя
uza
Сообщения:922
Зарегистрирован:16 янв 2008, 13:54

Сообщение uza » 20 авг 2008, 12:12

Код: Выделить всё

.Selection.Tables(1).Select
- а вы уже что то к тому времени успели выделить в Ворде? Вы работаете с Selection, как я понимаю "тупо" попытались скромсать автоматом написанный макрос.
А однако, когда документ только открылся, то Selection - пустое, ибо никто, ничего, мышой не выделял. Можно попробовать сначала выделить все.

Код: Выделить всё

Selection.WholeStory
- это до коннструкции With...
Удалил этот форум из избранного!

Ответить