From: Jon Peltier on 7 Nov 2009 16:56 See my response to your earlier post. - Jon ------- Jon Peltier Peltier Technical Services, Inc. http://peltiertech.com/ MikeZz wrote: > Hi, > I have a script that draws about 800 lines on a worksheet from various cells > to others. I got the basic routine of the internet and it works perfect in > excel 2003. > However, when I run in 2007, I get an error in the same place evey time. > I've been doing 2003 forever but this is my first venture porting an app from > 2003 to 2007. > > The error is: "Method 'Select' of object 'Shape' Failed > Look down for this comment line to find where the problem is: > 'ERROR HERE: Excel 2003 works with this line. > > Any help would be great! > Thanks, > MikeZz > > > Private Sub DrawArrow(r1 As Range, r2 As Range, Optional lineName, Optional > linecolor, Optional scriptNo, Optional lineEnds) > ' shg 2008-0803 > ' Draws a line beween the center of the two ranges > > Dim x1 As Double > Dim x2 As Double > Dim y1 As Double > Dim y2 As Double > Dim screenTipText > Dim linkR, linkC > Dim linkAdd > Dim LineShape As Shape > Dim cityNo > Dim cityIdx > Dim cityMax > Dim this_Comd > Dim colorThis > > Application.StatusBar = "Drawing Arrow: " & scriptNo & " of " & sCount > > ' Application.ScreenUpdating = True > > > cityNo = arrScript(scriptNo, script_Type) > cityIdx = arrScript(script_Cidx, script_Type) > cityMax = arrCityInfo(rowCityLast, cityNo) > > > If IsMissing(linecolor) Then > linecolor = 12 > End If > > this_Comd = arrScript(scriptNo, script_Comd) > If this_Comd = "attack" Then > colorThis = "Red" > ElseIf this_Comd = "transport" Then > colorThis = "Green" > Else > colorThis = "Black" > End If > > With r1 > x1 = .Left + .Width / 2 > y1 = .Top + .Height / 2 > End With > > With r2 > x2 = .Left + .Width / 2 > y2 = .Top + .Height / 2 > End With > > With shtMap.Shapes.AddLine(x1, y1, x2, y2) > Set LineShape = shtMap.Shapes(shtMap.Shapes.Count) > End With > > > ' LineShape.Line.Visible = False > > Dim shpCount > > If IsMissing(scriptNo) Then > Else > screenTipText = Get_Arrow_ScreenTip(scriptNo) > > shpCount = ActiveSheet.Shapes.Count > linkR = arrScript(scriptNo, script_CelR) > linkC = arrScript(scriptNo, script_CelC) > linkAdd = "Scripts!" & Sheets("Scripts").Cells(linkR, linkC).Address > Application.StatusBar = "Adding Hyperlink Line: " & lineName & " " > & linkAdd > > If AddLineHyper = True Then > If AddLineHoover = True Then > 'ERROR HERE: Excel 2003 works with this line. > 'Excel 2007 gives me this error: > ' "Method 'Select' of object 'Shape' Failed > LineShape.Select > ActiveSheet.Hyperlinks.Add Anchor:=LineShape, Address:= _ > "", SubAddress:=linkAdd, ScreenTip:=screenTipText > > Else > 'ERROR HERE: Excel 2003 works with this line. > 'Excel 2007 gives me this error: > ' "Method 'Select' of object 'Shape' Failed > LineShape.Select > ActiveSheet.Hyperlinks.Add Anchor:=LineShape, Address:= _ > "", SubAddress:=linkAdd > > End If > End If > > End If > > > Set LineShape = Nothing > > End Sub > > > > >
|
Pages: 1 Prev: Copy Data from Sheet 1 to Empty Cell in Sheet 2 Next: Run Code in Another Workbook |