首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

excel表格的宏编程,提示异常438

2012-12-15 
excel表格的宏编程,提示错误438在线等Dim SQLUserName, SQLPassWord, SQLServer, SQLDataBase, MDCLogname

excel表格的宏编程,提示错误438 在线等
    Dim SQLUserName, SQLPassWord, SQLServer, SQLDataBase, MDCLogname, MDCPassword
    Dim conn, rs, ConnStr, re_sql
    Dim i, a
    Dim TARGET_START(2000), TARGET_STOP(2000), COMPANY_NAME(2000), JOB_NUMBER(2000), JOB_NAME(2000), PART_NUMBER(2000), ACTUAL_QTY(2000), PART_TYPE_NAME(2000)
    Const APPMDC = 1
    Dim x
    
    Private Sub CommandButton1_Click()
    
    SQLUserName = "sa"
    SQLPassWord = "gallop"
    SQLServer = "127.0.0.1"
    SQLDataBase = "MDC"
    MDCLogname = "gallop"
    MDCPassword = "gallop"
    
    i = 2
        x = 0
    
    Do
    
    TARGET_START(x) = ActiveSheet.cell(i, 1)               '预计开始时间
    TARGET_STOP(x) = ActiveSheet.cell(i, 2)               '预计结束时间
    COMPANY_NAME(x) = ActiveSheet.cell(i, 3)               '公司
    JOB_NUMBER(x) = ActiveSheet(i, 4) & ActiveSheet(i, 5)  '工单编号
    JOB_NAME(x) = ActiveSheet(i, 6)                        '工单名
    PART_NUMBER(x) = ActiveSheet(i, 7)                     '零件号
    ACTUAL_QTY(x) = ActiveSheet(i, 8)                      '零件完成的实际数量
    PART_TYPE_NAME(x) = ActiveSheet(i, 10)                 '零件类型
    
    Call FoundJobOpPart
    
    i = i + 1
    x = x + 1
    
     Loop Until ActiveSheet.Cells(i, 1).Text = ""
     
    MsgBox "数据导入成功!"
    
    End Sub
    
    Sub FoundJobOpPart()
    Dim JobID, PART_PER_JOB_ID, PART_ID, CUSTOMER_ID, PART_TYPE_ID
    Dim udtError, udtlogon, udtCustomer, udtPartType, udtPart, udtJob
    Dim s_Date
    
    
         Set udtError = CreateObject("PSFCAPI.CPErrorObj")
         Set udtlogon = CreateObject("PSFCAPI.CLogonObj")


         Set udtCustomer = CreateObject("PMDCAPI.CCustomerObj")
         Set udtPartType = CreateObject("PMDCAPI.CPartTypeObj")
         Set udtPart = CreateObject("PMDCAPI.CPartObj")
         Set udtJob = CreateObject("PMDCAPI.CJobObj")
    
    If (udtlogon.LogOnSQLServer(SQLUserName, SQLPassWord, SQLServer, SQLDataBase, MDCLogname, MDCPassword, APPMDC, udtError) = False) Then

               MsgBox udtError.ErrorDescription
               udtError.ClearError
               Exit Sub
         Else
         
         If (udtCustomer.GetCustomerIDFromCompanyNameVBS(udtlogon, udtError, COMPANY_NAME(x), lCustomerID) = False) Then
                 Call udtCustomer.NewCustomerVBS(udtlogon, udtError, lCustomerID, COMPANY_NAME(x))                                '输入新的客户
           End If
           
           If (udtPartType.GetPartTypeIDFromNameVBS(udtlogon, udtError, PART_TYPE_NAME(x), lPartTypeID) = False) Then             '输入新的零件类型
                 Call udtPartType.NewPartTypeVBS(udtlogon, udtError, lPartTypeID, PART_TYPE_NAME(x))
           End If
           
           If (udtPart.GetPartIDFromNumberVBS(udtlogon, udtError, PART_NUMBER(x), lPartID) = False) Then                     '输入新的零件号
                  Call udtPart.NewPartVBS(udtlogon, udtError, lPartID, lPartTypeID, PART_NUMBER(x), "A")
           End If
           
           If (udtPart.GetPartIDFromNumberVBS(udtlogon, udtError, JOB_NUMBER(x), lPartID) = False) Then                     '输入新的工单号
                  Call udtPart.NewPartVBS(udtlogon, udtError, lJobID, JOB_NUMBER(x), TARGET_START(x), TARGET_STOP(x), lPartID, JOB_NAME(x))
           End If


             
         End If
     
         Call udtlogon.LogOff(udtError)
         Set udtError = Nothing
         Set udtlogon = Nothing
         Set udtMDC = Nothing
         Set udtJob = Nothing
         Set udtPart = Nothing
         Set udtOp = Nothing
         
    End Sub


代码如上 
[解决办法]
关于EXCEL代码,可以自行先录制宏,然后将其代码复制下来改写即可。

热点排行