Страницы: 1
RSS
Передача текста с Excel файла в Word, затем нужно все четвёрки сделать жирными.
 
Добрый день.
Пытаюсь с Excel файла передать текст в Word, затем нужно все четвёрки сделать жирными.
Такой код:
Код
Sub ddww()
Set wd1 = CreateObject("Word.Document")
Set wd2 = wd1.Application
wd2.Selection.typetext "4 рамка 4 спорт 6 шляпа 4 просто 8"
wd2.Selection.WholeStory
    wd2.Selection.Find.ClearFormatting
    wd2.Selection.Find.Replacement.ClearFormatting
    wd2.Selection.Find.Replacement.Font.Bold = True
    With wd2.Selection.Find
        .Text = "4"
        .Replacement.Text = "4"
    End With
    wd2.Selection.Find.Execute Replace:=wdReplaceAll
wd1.SaveAs CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\Док1.docx", wdFormatXMLDocument
wd2.Quit
End Sub
только передаёт текст, но не делает четвёрки жирными.

В чём причина?
 
Здравствуйте.
Попробуйте добавить перед End With
Код
.Wrap = 1
Изменено: Pelena - 17.09.2018 13:44:35
 
Pelena, Боюсь что не получится. Но Елена, благодаря Вашему посту вернулся к задаче и смотрю и думаю, где глаза раньше были?

wdReplaceAll - Переменная не определена в excel . Либо добавить в начало процедуры
Код
Const wdReplaceAll = 2

Или
Код
wd2.Selection.Find.Execute Replace:=2
По вопросам из тем форума, личку не читаю.
 
Тогда и wdFormatXMLDocument надо заменить на 12, иначе файл фактически имеет формат DOC.
 
Казанский, да все верно, все подобные константы нужно определить или заменить. Я главное 14го посмотрел покрутил, уж хотел было написать , что похоже так не получится, но потом отложил, и вот в другой день смотрю и думаю, а ведь тут 0, а должно быть …..
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ: Переменная не определена
…или зачем нужен Option Explicit  :D
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Jack Famous,  не совсем так, Option Explicit скажет определи тип, но не подскажет что надо дать значение соответствующее, хотя на мысли может навести.
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ: на мысли может навести
ну хоть что-то)) да и от "замыленного глаза" спасёт — подскажет
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
БМВ:  wd2.Selection.Find.Execute Replace:=2
спасибо, получилось.

Цитата
Казанский:  wdFormatXMLDocument надо заменить на 12, иначе файл фактически имеет формат DOC.
понятно, хотя у меня проблем не возникло, файл вроде бы получился полноценный .docx (Win 8.1, Офис 2016)
 
Бахтиёр, всегда рад помочь
однако
Цитата
Бахтиёр написал:
файл вроде бы получился полноценный .docx (Win 8.1, Офис 2016)
странно
https://docs.microsoft.com/en-us/office/vba/api/word.wdsaveformat
передался 0, а значит Microsoft Office Word 97 - 2003 binary file format. или Microsoft Office Word 97
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх