当前有一些从列表视图中填充的项目可以打印,而我没有子例程即可完成此操作,但是我想组织代码并将每个部分放在自己的子例程中。
ive尝试将其放在子例程中,就像我处理代码的其他部分一样,但是这些部分都与图形无关。
Using p As New Pen(Color.Gray)
Dim t As Graphics = e.Graphics
p.DashStyle = DashStyle.Custom
Dim pattern() As Single = {3, 4, 3, 4}
p.DashPattern = pattern
t.DrawLine(p, 415, 0, 415, 1100)
t.DrawLine(p, 0, 535, 850, 535)
End Using
这段代码基本上在页面上垂直和水平地绘制了虚线,并且可以工作,但是我希望能够从子例程中调用它。
当我像以前一样将其放在一个子例程中时,由于将e作为图形传递给错误,不知道这意味着什么或如何解决它,我在这里的论坛上搜索了另一个有类似问题的人,然后我尝试遵循这些步骤,编译完成,但是当我运行它时,它没有打印行。
答案 0 :(得分:2)
您的子例程可能看起来像这样,
Sub InsertRowsAtValueChange()
'Update 20140716
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
For i = WorkRng.Rows.Count To 2 Step -1
If WorkRng.Cells(i, 1).Value <> WorkRng.Cells(i - 1, 1).Value Then
WorkRng.Cells(i, 1).EntireRow.Insert
End If
Next
Application.ScreenUpdating = True
End Sub
打来电话
Private Sub DrawDashes(g As Graphics)
Using p As New Pen(Color.Gray)
p.DashStyle = DashStyle.Custom
Dim pattern() As Single = {3, 4, 3, 4}
p.DashPattern = pattern
g.DrawLine(p, 415, 0, 415, 1100)
g.DrawLine(p, 0, 535, 850, 535)
End Using
End Sub