![]() |
#1
|
|||
|
|||
![]()
I have an Excel worksheet and I'm trying to make a macro that will open a word document and generate a text based on the information in the worksheet.
What my macro does so far: write the information from the worksheet into variables, open a word document, insert the content of the variables. Now I want to use the contents of one specific variable and do some extra tasks in Word. The variable (string) has a list of items that are separated by either a comma or a semicolon (followed by a space). Here's what I want the macro to do: 1. replace every semicolon with a comma to make it consistent 2. replace every comma+space with a new paragraph 3. convert it into a table with one column and every paragraph as a new line 4. make the border invisible 5. itemize the list So what I did is I let my normal Macro run and insert the contents of the variables. Then I marked the list that I wanted to work with, started the macro recorder and did the five steps above by hand. This is the code produced by the macro recorder: Code:
Sub ND() ' ' ND Makro ' ' Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = ";" .Replacement.Text = "," .Forward = True .Wrap = wdFindAsk .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = ", " .Replacement.Text = "^p" .Forward = True .Wrap = wdFindAsk .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll Selection.ConvertToTable Separator:=wdSeparateByParagraphs, NumColumns:=1, _ NumRows:=7, AutoFitBehavior:=wdAutoFitFixed With Selection.Tables(1) .Style = "Tabellenraster" .ApplyStyleHeadingRows = True .ApplyStyleLastRow = False .ApplyStyleFirstColumn = True .ApplyStyleLastColumn = False End With Selection.Borders(wdBorderTop).LineStyle = wdLineStyleNone Selection.Borders(wdBorderLeft).LineStyle = wdLineStyleNone Selection.Borders(wdBorderBottom).LineStyle = wdLineStyleNone Selection.Borders(wdBorderRight).LineStyle = wdLineStyleNone Selection.Borders(wdBorderHorizontal).LineStyle = wdLineStyleNone Selection.Borders(wdBorderDiagonalDown).LineStyle = wdLineStyleNone Selection.Borders(wdBorderDiagonalUp).LineStyle = wdLineStyleNone End Sub Can anyone help me out here? I have some experience with VBA in Excel, but virtually none in Word. |
Thread Tools | |
Display Modes | |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
![]() |
jncuk | Word | 8 | 04-15-2020 07:01 PM |
![]() |
rbr | Mail Merge | 6 | 11-18-2016 07:05 AM |
Turn Word table cell into clickable hyperlink button | cobms2014 | Word | 3 | 03-26-2015 09:10 AM |
Using macro to add variable number of rows to a protected word table | Julia | Word Tables | 1 | 01-09-2013 06:04 AM |
![]() |
KenBrown | Word | 2 | 08-16-2012 07:47 AM |