sanderson 发表于 2016-5-24 13:28:12

《发明家》中的情节

您好:
我正在尝试创建一个在Inventor中打印的例程
当它到达oSheet时。激活(下面红色文本),我得到一个运行时错误5:过程调用或参数无效
任何帮助都将不胜感激。我相信这个逻辑是正确的,在对以前版本的API进行任何更改之前。你能推荐一本关于API编程的好书吗
谢谢。
谢谢Private Sub cmdPlot_Click()
    ' Define application
    Dim oApp As Inventor.Application
    Set oApp = ThisApplication
    ' Define document
    Dim oCurrentDoc As DrawingDocument
    Set oCurrentDoc = oApp.ActiveDocument
    ' Define sheets
    Dim oSheets As Sheets
    Set oSheets = oCurrentDoc.Sheets
    Dim oSheet As Sheet
    Set oSheet = oCurrentDoc.Sheets.Item(1)
    ' Define print manager
    Dim oPM As DrawingPrintManager
    Set oPM = oCurrentDoc.PrintManager
    ' Get sheet size
    Dim xx As Integer
    Dim xy As Integer
    Select Case oSheet.Size
      Case kADrawingSheetSize
            xx = (6 * 2.54)
            xy = (3.12 * 2.54)
            
      Case kBDrawingSheetSize
            xx = (12 * 2.54)
            xy = (3.12 * 2.54)
            
      Case kCDrawingSheetSize
            xx = (17 * 2.54)
            xy = (3.12 * 2.54)
            
      Case kDDrawingSheetSize
            xx = (29 * 2.54)
            xy = (3.12 * 2.54)
            
      Case kEDrawingSheetSize
            xx = (37 * 2.54)
            xy = (3.12 * 2.54)
      
    End Select
    For Each oSheet In oSheets
      oSheet.Activate
      ' Create a new sketch on the active sheet
      Dim oSketch As DrawingSketch
      Set oSketch = oCurrentDoc.ActiveSheet.Sketches.Add
      
      ' Open sketch for edit so the texhbox can be created
      oSketch.Edit
      
      Dim oTG As TransientGeometry
      Set oTG = oApp.TransientGeometry
      
      Dim sText As String
      sText = txtStampText.Text
      
      Dim oTextBox As Inventor.TextBox
      Set oTextBox = oSketch.tectboxes.AddFitted(oTG.CreatePoint2d(xx, xy), sText)
      
      oSketch.ExitEdit
      
      ' Requires plot to activate text
      oPM.PrintToFile ("c:\temp\tmpinventor.plot")
      
      ' Predefine printers
      Dim PRN As String
      PRN = "\\PS64\HP Color LaserJet M750dn"
      
      Dim PLT As String
      PLT = "\\PS64\HP T2500"
               
      oPM.ScaleMode = kPrintFullScale
      oPM.PrintRange = kPrintAllSheets
               
      Select Case oSheet.Size
            Case kADrawingSheetSize
                oPM.Printer = PRN
                oPM.PaperSize = kPaperSizeLetter
                oPM.Orientation = kLandscapeOrientation
               
            Case kBDrawingSheetSize
                oPM.Printer = PRN
                oPM.PaperSize = kPaperSize11x17
                oPM.Orientation = kLandscapeOrientation
               
            Case kCDrawingSheetSize
                oPM.Printer = PLT
                oPM.PaperSize = kPaperSizeCSheet
                oPM.Orientation = kLandscapeOrientation
               
            Case kDDrawingSheetSize
                oPM.Printer = PLT
                oPM.PaperSize = kPaperSizeDSheet
                oPM.Orientation = kLandscapeOrientation
               
            Case kEDrawingSheetSize
                oPM.Printer = PLT
                oPM.PaperSize = kPaperSizeESheet
                oPM.Orientation = kLandscapeOrientation
               
      End Select
      oPM.SubmitPrint
      oSketch.Delete
      
    Next
End Sub

**** Hidden Message *****

yosso 发表于 2016-6-29 13:25:03

当我试图运行时,我得到一个错误,当你试图给一个未定义的sketchsymbol赋值时。
      
Dim sText As String
sText = txtStampText.Text
页: [1]
查看完整版本: 《发明家》中的情节