程序如下,各位基围虾们帮忙看看哈。
里面所有的变量我都定义过了,Hincd1T和Hincd2T是文本框。
我写得比较乱,以后一定会改进的,群虾们帮着出出主意吧Private Sub ExcelB_Click()
If (Trim(Hincd1T.Text) <> vbNullString) And (Trim(Hincd2T.Text) <> vbNullString) Then
On Error Resume Next
CommonDialog1.ShowSave
If Err.Number = 32755 Then
Err.Clear
Exit Sub
End If myFilename = CommonDialog1.FileName
myFile = Dir(myFilename)
If Len(myFile) = 0 Then
Else
If MsgBox(myFile & " は既に存在します。" & vbCrLf & "置換しますか?", vbYesNo, "情報") = vbYes Then
Name myFilename As myFilename
If Err.Number Then
MsgBox "指定されたファイルは使用中です。", vbInformation, "information"
Err.Clear
Exit Sub
End If
Else
WaitL.Caption = vbNullString
Exit Sub
End If
End If
WaitL.Caption = "loading......"
WaitL.Refresh
FileCopy App.Path + "\得意M1.xls", myFilename i = 2
Oradyn.MoveFirst
Do
DoEvents
If IsNumeric(Hincd1T.Text) = True Then
If IsNumeric(Oradyn!TORI_CODE) And Val(Oradyn!TORI_CODE) >= Val(Hincd1T.Text) Then
Excel_TorisakiF
i = i + 1
End If Else
'if the textbox's value is word then put the code here
If Not IsNumeric(Oradyn!TORI_CODE) Then
Excel_TorisakiF
i = i + 1
End If
End If
Oradyn.MoveNext
Loop Until Oradyn.EOF = True MsgBox myFilename & " を作成終了しました。", vbInformation, "情報"
WaitL.Caption = vbNullString
CloseB.Enabled = TrueSyoriExit:
Hincd1T.SetFocus
WaitL.Caption = vbNullString
CloseB.Enabled = True
CloseB.Visible = True
TorisakiF.Refresh
End Sub
——————————————————————————————
Private Sub Excel_TorisakiF()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = CreateObject("excel.application")
Set xlBook = xlApp.Workbooks.Open(myFilename)
Set xlSheet = xlBook.Worksheets(1)
If IsNumeric(Oradyn!TORI_CODE) = True Then
If Err.Number <> 0 Then
MsgBox Err & ": " & Error(Err)
Err.Clear
End If
xlSheet.Cells(i, 1) = NullNumConv(Oradyn!TORI_CODE)
Else
xlSheet.Cells(i, 1) = NullStrConv(Oradyn!TORI_CODE)
End If
Debug.Print 0; Oradyn!TORI_CODE
xlSheet.Cells(i, 2) = NullStrConv(Oradyn!TORI_KANA)
xlSheet.Cells(i, 3) = NullStrConv(Oradyn!TORI_NAME)
xlSheet.Cells(i, 4) = NullStrConv(Oradyn!TORI_RYAKU)
xlSheet.Cells(i, 5) = NullStrConv(Oradyn!TORI_ADDRESS1)
xlSheet.Cells(i, 6) = NullStrConv(Oradyn!TORI_ADDRESS2)
xlSheet.Cells(i, 7) = NullStrConv(Oradyn!TORI_TEL)
xlSheet.Cells(i, 8) = NullStrConv(Oradyn!TORI_FAX)
xlSheet.Cells(i, 9) = NullStrConv(Oradyn!TORI_AITE_TANMEI)
xlApp.Visible = False xlBook.Save xlApp.Quit Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
Screen.MousePointer = vbDefault
End Sub 我设置了断点,到了xlSheet.Cells(i, 1) = NullStrConv(Oradyn!TORI_CODE)就不往下走了,而且 鼠标指到NullStrConv(Oradyn!TORI_KANA)上就显示OIP-04099找不到字段名TORI_KANA
里面所有的变量我都定义过了,Hincd1T和Hincd2T是文本框。
我写得比较乱,以后一定会改进的,群虾们帮着出出主意吧Private Sub ExcelB_Click()
If (Trim(Hincd1T.Text) <> vbNullString) And (Trim(Hincd2T.Text) <> vbNullString) Then
On Error Resume Next
CommonDialog1.ShowSave
If Err.Number = 32755 Then
Err.Clear
Exit Sub
End If myFilename = CommonDialog1.FileName
myFile = Dir(myFilename)
If Len(myFile) = 0 Then
Else
If MsgBox(myFile & " は既に存在します。" & vbCrLf & "置換しますか?", vbYesNo, "情報") = vbYes Then
Name myFilename As myFilename
If Err.Number Then
MsgBox "指定されたファイルは使用中です。", vbInformation, "information"
Err.Clear
Exit Sub
End If
Else
WaitL.Caption = vbNullString
Exit Sub
End If
End If
WaitL.Caption = "loading......"
WaitL.Refresh
FileCopy App.Path + "\得意M1.xls", myFilename i = 2
Oradyn.MoveFirst
Do
DoEvents
If IsNumeric(Hincd1T.Text) = True Then
If IsNumeric(Oradyn!TORI_CODE) And Val(Oradyn!TORI_CODE) >= Val(Hincd1T.Text) Then
Excel_TorisakiF
i = i + 1
End If Else
'if the textbox's value is word then put the code here
If Not IsNumeric(Oradyn!TORI_CODE) Then
Excel_TorisakiF
i = i + 1
End If
End If
Oradyn.MoveNext
Loop Until Oradyn.EOF = True MsgBox myFilename & " を作成終了しました。", vbInformation, "情報"
WaitL.Caption = vbNullString
CloseB.Enabled = TrueSyoriExit:
Hincd1T.SetFocus
WaitL.Caption = vbNullString
CloseB.Enabled = True
CloseB.Visible = True
TorisakiF.Refresh
End Sub
——————————————————————————————
Private Sub Excel_TorisakiF()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = CreateObject("excel.application")
Set xlBook = xlApp.Workbooks.Open(myFilename)
Set xlSheet = xlBook.Worksheets(1)
If IsNumeric(Oradyn!TORI_CODE) = True Then
If Err.Number <> 0 Then
MsgBox Err & ": " & Error(Err)
Err.Clear
End If
xlSheet.Cells(i, 1) = NullNumConv(Oradyn!TORI_CODE)
Else
xlSheet.Cells(i, 1) = NullStrConv(Oradyn!TORI_CODE)
End If
Debug.Print 0; Oradyn!TORI_CODE
xlSheet.Cells(i, 2) = NullStrConv(Oradyn!TORI_KANA)
xlSheet.Cells(i, 3) = NullStrConv(Oradyn!TORI_NAME)
xlSheet.Cells(i, 4) = NullStrConv(Oradyn!TORI_RYAKU)
xlSheet.Cells(i, 5) = NullStrConv(Oradyn!TORI_ADDRESS1)
xlSheet.Cells(i, 6) = NullStrConv(Oradyn!TORI_ADDRESS2)
xlSheet.Cells(i, 7) = NullStrConv(Oradyn!TORI_TEL)
xlSheet.Cells(i, 8) = NullStrConv(Oradyn!TORI_FAX)
xlSheet.Cells(i, 9) = NullStrConv(Oradyn!TORI_AITE_TANMEI)
xlApp.Visible = False xlBook.Save xlApp.Quit Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
Screen.MousePointer = vbDefault
End Sub 我设置了断点,到了xlSheet.Cells(i, 1) = NullStrConv(Oradyn!TORI_CODE)就不往下走了,而且 鼠标指到NullStrConv(Oradyn!TORI_KANA)上就显示OIP-04099找不到字段名TORI_KANA
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货