Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Changes to some VB script which inserts WordArt

Posted on 2008-06-20
3
Medium Priority
?
581 Views
Last Modified: 2010-04-21
I have some code which inserts WordArt into excel.  I have tried to change the format of the wordart and it only applies to the first insertion.  I can see why it is doing that but do not know how to change it so that all the inserts are shaded...

I am really new to VB so any help would be much appreciated.
Thanks
 
For rw = 6 To ActiveSheet.UsedRange.Cells(ActiveSheet.UsedRange.Cells.Count).Row Step 20
            Set NewWordArt = ActiveSheet.Shapes.AddTextEffect( _
                PresetTextEffect:=msoTextEffect1, Text:="Generic", _
                FontName:="Arial Black", FontSize:=50, _
                FontBold:=msoFalse, FontItalic:=msoFalse, Left:=ActiveSheet.Range("B" & rw).Left, _
                Top:=ActiveSheet.Range("B" & rw).Top)
             
            With ActiveSheet.Shapes("WordArt 1").Select
                Selection.ShapeRange.Fill.Visible = msoTrue
                Selection.ShapeRange.Fill.Solid
                Selection.ShapeRange.Fill.ForeColor.SchemeColor = 22
                Selection.ShapeRange.Fill.Transparency = 0.6
                Selection.ShapeRange.Line.Weight = 0.25
                Selection.ShapeRange.Line.DashStyle = msoLineSolid
                Selection.ShapeRange.Line.Style = msoLineSingle
                Selection.ShapeRange.Line.Transparency = 1#
                Selection.ShapeRange.Line.Visible = msoTrue
                Selection.ShapeRange.Line.ForeColor.RGB = RGB(0, 0, 0)
                Selection.ShapeRange.Line.BackColor.RGB = RGB(255, 255, 255)
            End With

Open in new window

0
Comment
Question by:NicBrambles
3 Comments
 
LVL 4

Expert Comment

by:shekharsom
ID: 21830123
use foreach statement:

following is a sample code

Dim sh As Shape

For Each sh In ActiveSheet.Shapes
    If sh.Type = msoFormControl Then
        If sh.FormControlType = xlButtonControl Then
            sh.Visible = Not sh.Visible
        End If
    End If
Next sh

change the controltype to wordart type.
0
 
LVL 85

Accepted Solution

by:
Rory Archibald earned 1600 total points
ID: 21830797
Try this:

For rw = 6 To ActiveSheet.UsedRange.Cells(ActiveSheet.UsedRange.Cells.Count).Row Step 20
            Set newwordart = ActiveSheet.Shapes.AddTextEffect( _
                PresetTextEffect:=msoTextEffect1, Text:="Generic", _
                FontName:="Arial Black", FontSize:=50, _
                FontBold:=msoFalse, FontItalic:=msoFalse, Left:=ActiveSheet.Range("B" & rw).Left, _
                Top:=ActiveSheet.Range("B" & rw).Top)
             
            With newwordart
               With .Fill
                  .Visible = msoTrue
                  .Solid
                  .ForeColor.SchemeColor = 22
                  .Transparency = 0.6
               End With
               With .Line
                  .Weight = 0.25
                  .DashStyle = msoLineSolid
                  .Style = msoLineSingle
                  .Transparency = 1#
                  .Visible = msoTrue
                  .ForeColor.RGB = RGB(0, 0, 0)
                  .BackColor.RGB = RGB(255, 255, 255)
               End With
            End With

Open in new window

0
 

Author Closing Comment

by:NicBrambles
ID: 31469080
That's perfect thank you.
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Do you use a spreadsheet like Microsoft's Excel?  Have you ever wanted to link out to a non excel file on your computer or network drive?  This is the way I found to do it!
Access developers frequently have requirements to interact with Excel (import from or output to) in their applications.  You might be able to accomplish this with the TransferSpreadsheet and OutputTo methods, but in this series of articles I will di…
This Micro Tutorial will demonstrate in Microsoft Excel how to add style and sexy appeal to horizontal bar charts.
This Micro Tutorial will demonstrate the scrolling table in Microsoft Excel using the INDEX function.

971 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question