![]() |
|
![]() |
|
Thread Tools | Display Modes |
|
#1
|
||||
|
||||
![]() Try this variation. It shows the ONLY possible values that can be entered and defaults to the same value as the first table in the document. I've coded it to apply all the same bottom row border settings as the first table in the document and allows you to override the bottom border setting that the first table had (if you wish to choose something else). I did this because your code referenced the first table in the document and the first table in the selection. Those tables may or may not be the same thing. Code:
Sub Table_Borders_LastRow() Dim aTbl As Table, aTblSel As Table Dim iLineWidth As Integer 'Border size for the bottom row, bottom border. Set aTbl = ActiveDocument.Tables(1) Set aTblSel = Selection.Tables(1) iLineWidth = aTbl.Borders(wdBorderBottom).LineWidth 'size of bottom border on first table iLineWidth = InputBox("Enter the Border size for the bottom row/bottom border." & vbCr & _ "Choices are: 2, 4, 6, 8, 12, 18, 24, 36, 48", "SUGGESTION", iLineWidth) 'suggestion = first table's border size With aTblSel.Rows.Last .Borders = aTbl.Rows.Last.Borders .Borders(wdBorderBottom).LineWidth = iLineWidth End With End Sub
__________________
Andrew Lockton Chrysalis Design, Melbourne Australia |
#2
|
||||
|
||||
![]() Quote:
I've tried it, however, it gave me an error message, Re the line: .Borders(wdBorderBottom).LineWidth = iLineWidth. I don't know how to fix it, however, I'm glad to have fixed my above script. I've even added on the same row a Top and Bottom Value as InputBoxes. I've replaced ''As Variant'' for ''WdLineWidth'', Works great. My script is maybe not as a pro like yourself would do it, but for No formal training, just analyzing scripts, I can say I'm getting not bad, right? Please give me a bone ''encouragement'' ![]() Here is my script: Code:
Dim aTbl As Table Dim sVar1 As WdLineWidth 'First Row - Top border Dim sVar2 As WdLineWidth 'First Row - Bottom border Dim LineWidth As Borders Set aTbl = ActiveDocument.Tables(1) sVar1 = InputBox("For First Row, Enter the value on Top from the below numbers before the = symbole." _ & vbCr & "Exemple : 2 =0.25/ 4 =0.50/ 6 =0.75/ 8 =1.00/" _ & vbCr & "12 =1.50/ 18 =2.25/ 24 =3.00/ 36 =4.50/ 48 =6.00.", "SUGGESTION", "18") sVar2 = InputBox("For First Row, Enter the value on Bottom from the below numbers before the = symbole." _ & vbCr & "Exemple : 2 =0.25/ 4 =0.50/ 6 =0.75/ 8 =1.00/" _ & vbCr & "12 =1.50/ 18 =2.25/ 24 =3.00/ 36 =4.50/ 48 =6.00.", "SUGGESTION", "8") With Selection.Tables(1) .Rows.First.Range.Select End With With Selection.Range With .Borders(wdBorderTop) .LineStyle = wdLineStyleSingle .LineWidth = sVar1 .Color = wdColorAutomatic End With With .Borders(wdBorderBottom) .LineStyle = wdLineStyleSingle .LineWidth = sVar2 .Color = wdColorAutomatic End With End With On Error GoTo 0 Code:
'sVar1 = aTbl.Borders(wdBorderTop).LineWidth Once I know how to do this, I could now try to do it to all tables in a document. At times, I have over 80 tables in a document, which takes me much times, to fix them to be constant. From the bottom of my heart, thank you for guiding me and helping me or anyone with those type of script's ![]() Cendrinne Last edited by Cendrinne; 09-06-2022 at 12:09 AM. Reason: Edited the comma's for decimal and put dot. Sorry my pc is in French. |
![]() |
Tags |
borders, help please, variant |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Problem with table borders | synint | Word | 2 | 12-02-2021 01:44 AM |
![]() |
Peterson | Word VBA | 2 | 09-06-2021 05:52 PM |
![]() |
ljosmynd | Word Tables | 1 | 02-02-2016 12:29 AM |
![]() |
tenpaiman | Word | 2 | 08-08-2012 07:20 PM |
how can i make random variant | neezeen | Word | 0 | 11-22-2011 08:08 AM |