ulugbek tulakov -4 / 0 / 0 Регистрация: 21.04.2021 Сообщений: 157 |
||||
1 |
||||
27.11.2022, 19:27. Показов 628. Ответов 8 Метки нет (Все метки)
Добрый вечер. Нужна помощь. как можно именит код макроса
0 |
Zeag 810 / 465 / 180 Регистрация: 09.03.2009 Сообщений: 1,577 |
||||
27.11.2022, 20:02 |
2 |
|||
Ну как вариант:
То есть ищем позиции двоеточия, вопроса, точки с запятой и точки, из них берем наименьшую и до нее делаем жирным.
0 |
Модератор 11341 / 4660 / 748 Регистрация: 07.08.2010 Сообщений: 13,497 Записей в блоге: 4 |
|
27.11.2022, 20:39 |
3 |
For Each p In ActiveDocument.Paragraphs к сожалению параграфы в реальном/типовом документе бывают разные какие строки/линии надо обрабатывать Миниатюры
0 |
Модератор 11341 / 4660 / 748 Регистрация: 07.08.2010 Сообщений: 13,497 Записей в блоге: 4 |
|
27.11.2022, 21:07 |
4 |
применила цвет вместо жирности(для наглядности) Миниатюры
0 |
Модератор 11341 / 4660 / 748 Регистрация: 07.08.2010 Сообщений: 13,497 Записей в блоге: 4 |
|
27.11.2022, 21:25 |
5 |
проверила на несколько листов Миниатюры
0 |
-4 / 0 / 0 Регистрация: 21.04.2021 Сообщений: 157 |
|
28.11.2022, 19:15 [ТС] |
6 |
Ну как вариант: Здраствуйте можно написат код от начало до конца. Я с этим не разбиралься.
0 |
489 / 252 / 97 Регистрация: 04.11.2022 Сообщений: 378 |
|
28.11.2022, 23:33 |
7 |
ulugbek tulakov, можно сделать без макроса. То, что Вы называете абзацем, на самом деле блоки из нескольких абзацев, разделенные пустым абзацем. Поэтому вызываем диалог «Найти и заменить», Найти: Миниатюры
0 |
Vigilant Mole 489 / 252 / 97 Регистрация: 04.11.2022 Сообщений: 378 |
||||
28.11.2022, 23:48 |
8 |
|||
При этом, конечно, символы конца абзаца у последнего абзаца блока и пустого абзаца станут полужирными, хотя этого не видно. Можно вернуть им нормальную толщину, сделав замену
1 |
-4 / 0 / 0 Регистрация: 21.04.2021 Сообщений: 157 |
|
29.11.2022, 05:05 [ТС] |
9 |
При этом, конечно, символы конца абзаца у последнего абзаца блока и пустого абзаца станут полужирными, хотя этого не видно. Можно вернуть им нормальную толщину, сделав замену Добрый утро. Спасибо. Можно это сделат в найти и заменит. Добавлено через 8 минут
Добрый утро. Спасибо. Можно это сделат в найти и заменит. Все я уже понял.
0 |
I make a several page word document every week. I copy text from a PDF and paste it into a word document, I then format the text that I pasted.
This takes a long time and i would like to automate it.
I need a macro or some code to select specific text, then make that text bold. The specific text i need to bold is what i call a scrap code.
There are 60 different codes. For example «FIPS», or «LILL».
0m3r
12.2k15 gold badges33 silver badges70 bronze badges
asked Dec 16, 2010 at 2:51
Something like this:
Sub A()
'
' a Macro
'
'
Dim A(3) As String
A(1) = "code1"
A(2) = "code2"
A(3) = "code3"
For i = 1 To 3
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Replacement.Font.Bold = True
.Execute FindText:=A(i), ReplaceWith:=A(i), Format:=True, _
Replace:=wdReplaceAll
End With
Next i
End Sub
HTH!
Edit
To switch dollar amounts to bold
Sub a()
'
' a Macro
'
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Font.Bold = True
With Selection.Find
.Text = "$([0-9.,]{1,})"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
answered Dec 16, 2010 at 7:26
Dr. belisariusDr. belisarius
60.4k15 gold badges114 silver badges190 bronze badges
3
I would suggest recording a macro.
Then do all the modifications and formatting.
Finally, look at the code of the macro and see how it did it.
The one thing you need to figure out is how you logically want to locate the text you want to bold.
Is it a specific line? Is it at the beginning of a known word?
Once you have that answered, you can combine it with the code of the macro and automate the task.
answered Dec 16, 2010 at 3:02
BeemerGuyBeemerGuy
8,1192 gold badges35 silver badges46 bronze badges
1
I’m creating a word document programatically using VBA.
1) I have a a string with value — «Strategy». I want to make it bold and to be displayed in the word document.
I have tried this below, but the text is never changed:
Dim wrdApp As Word.Application
Dim wrdDoc As Word.Document
Set wrdApp = CreateObject("Word.Application")
Dim strategy As String
strategy = "STRATEGY"
Dim objWdRange As Word.Range
wrdApp.Visible = True
Set wrdDoc = wrdApp.Documents.Open("C:Program FilesDailyStrategy.doc")
With wrdDoc
If wrdDoc.Bookmarks.Exists("MarketCommentry") Then
wrdDoc.Bookmarks("MarketCommentry").Range.Text = strategy
Set objWdRange = wrdDoc.Content
With objWdRange.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "STRATEGY"
'Make found bold and italic
With .Replacement.Font
.Bold = True
.Italic = True
End With
.Execute Replace:=wdReplaceAll
End With
End With
End If
regards
Kojo
asked Jan 7, 2010 at 11:50
KojofKojof
4197 gold badges15 silver badges23 bronze badges
EDIT:: I should have better tried in the VBA debugger first, which I did now. This one should work:
With wrdDoc
Set objWdRange = wrdDoc.Content
With objWdRange.Find
.ClearFormatting
.Text = "STRATEGY"
.Execute Replace:=wdReplaceNone
End With
End With
If objWdRange.Find.Found Then
'Make found bold and italic
With objWdRange.Font
.Bold = True
.Italic = True
End With
End If
answered Jan 7, 2010 at 12:00
Doc BrownDoc Brown
19.6k7 gold badges52 silver badges88 bronze badges
5
Я пытаюсь экспортировать документ Word из программы Visual Basic. Разным частям документа потребуется разное форматирование.
У меня несколько абзацев, и мне нужно выделить только части каждого из них. Я пытаюсь установить диапазон внутри каждого абзаца, который должен быть выделен жирным шрифтом, но, что бы я ни делал, мне кажется, что он только хочет выделить полужирным шрифтом весь абзац.
Я хочу сделать что-то вроде этого:
Dim Para1 As Word.Paragraph
Para1 = WordDoc.Content.Paragraphs.Add
Para1.Range.Start = 1
Para1.Range.End = 14
Para1.Range.Font.Bold = True
Para1.Range.Text = "Job number is: " + myJobID
… чтобы он выделялся жирным шрифтом от ‘J’ до ‘:’ (в Para1.Range.Text), но не выделял жирным шрифтом myJobID (который является переменной, которую я получаю от пользователя). Однако, что бы я ни делал, весь абзац, включая myJobID, выделяется жирным шрифтом.
Я также попытался создать переменную Range, которая устанавливает диапазон на основе всего документа, но проблема в том, что длины нескольких переменных, которые я выводю в документ Word, будут разных размеров, и, следовательно, нет способ узнать, где будет начинаться следующий раздел, который я хочу выделить жирным шрифтом. В общем, я должен работать с объектом Paragraph, а не перебирать все символы во всем документе.
Надеюсь, это имело смысл. Любые идеи?
Если в вашем файле Word есть несколько текстов с прогнозом, теперь вам нужно отформатировать все тексты с прогнозом как полужирный. Как можно как можно быстрее выделить все вхождения одного и того же слова в большом документе Word?
Жирным шрифтом все экземпляры одного и того же слова в документе Word с кодом VBA
Жирным шрифтом все экземпляры одного и того же слова в документе Word с кодом VBA
Следующий код VBA может помочь вам быстро и легко выделить все экземпляры определенного слова жирным шрифтом. Сделайте следующее:
1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.
2. А затем нажмите Вставить > Модули, скопируйте и вставьте приведенный ниже код в открытый пустой модуль:
Код VBA: жирным шрифтом все экземпляры одного и того же слова
Sub BoldAll()
Dim xStr As String
xStr = InputBox("Please enter the word that you want to bold:", "KuTools for Word")
If Trim(xStr) = "" Then
MsgBox "Cann’t be empty!", vbInformation, "KuTools for Word"
End If
With ActiveDocument.Content.Find
.ClearFormatting
.Text = xStr
.Replacement.ClearFormatting
.Replacement.Font.Bold = True
.Replacement.Text = "^&"
.Wrap = wdFindStop
.Format = True
.Forward = True
.Execute Replace:=wdReplaceAll
End With
End Sub
3. После ввода кода, а затем нажмите F5 нажмите клавишу, чтобы запустить его, и появится диалоговое окно, напоминающее вам о вставке слова, которое вы хотите выделить полужирным шрифтом, см. снимок экрана:
4. А затем нажмите OK кнопку, и все конкретные слова сразу выделены жирным шрифтом.
Рекомендуемые инструменты для повышения производительности Word
Kutools For Word — Более 100 расширенных функций для Word, сэкономьте 50% времени
- Сложные и повторяющиеся операции можно производить разово за секунды.
- Вставляйте сразу несколько изображений из папок в документ Word.
- Объединяйте и объединяйте несколько файлов Word из папок в одну в желаемом порядке.
- Разделите текущий документ на отдельные документы в соответствии с заголовком, разрывом раздела или другими критериями.
- Преобразование файлов между Doc и Docx, Docx и PDF, набор инструментов для общих преобразований и выбора и т. Д.
Комментарии (3)
Оценок пока нет. Оцените первым!