返回列表 上一主題 發帖

測試IP

回復 14# linderlong
你直接將 Debug 畫面完整 Copy 上傳 (需有錯誤點指向)

TOP

回復 14# linderlong
試著在 WinX 64 位元環境下測試是否OK?

TOP

本帖最後由 linderlong 於 2013-8-30 14:43 編輯

在w7,64位元,office2007下,逐步執行時,則停在下列指令,
RetVal = Shell("command.com /c Ping -n 1 " & Cells(i, 1) & " > " & ThisWorkbook.Path & "\" & i & ".txt")

按一下說明,出現以下文字,但看不懂,不知如何修正?不知道是不是找到 command.com 這個dos指令?

找不到檔案 (錯誤 53)

所指定的檔案找不到。此錯誤有以下的起因和解決方法:
•        陳述式如 Kill、SetAttr 或 Name 等,引用到一個不存在的檔案。
檢查檔案名稱的拼字以及路徑說明。
•        欲呼叫動態連結程式庫 (DLL) 中的程序 或 Macintosh程式碼資源區,但找不到在 Declare 陳述式的 Lib 子句中所指定程式庫檔案名稱或資源當案名稱。
檢查檔案名稱的拼字以及路徑說明。
•        在發展環境中,如果您欲開啟不存在的專案或載入不存在的文字檔案,將發生錯誤。
檢查檔案名稱或專案名稱的拼字以及路徑說明。
詳細資訊,可選取有疑問的項目並按下 F1 (在Windows中) 或 HELP (在Macintosh上)。
龍

TOP

應該不是office的問題,而是作業系統w7,32位元,可以執行,而在64位元系統,則錯在
RetVal = Shell("command.com /c Ping -n 1 " & 工作表1.Cells(cts, 1) & " > " & ThisWorkbook.Path & "\iptest" & cts & ".txt")
這行指令上,不知為何原因?謝謝!
龍

TOP

回復 10# linderlong

TOP

回復 10# linderlong
  1.         RetVal = Shell("command.com /c Ping -n 1 " & 工作表1.Cells(cts, 1) & " > " & ThisWorkbook.Path & "\iptest" & cts & ".txt")
複製代碼
經實地在 Excel 2010  下測試是無誤的,
請檢查你的執行錯誤點是在哪一段?

TOP

回復 9# c_c_lai
已改為sheet1.cells(i,1)在w7,64位元,office2007下,仍舊無法執行,不知為何原因?謝謝!
龍

TOP

回復 8# linderlong
請將 Cells(i, 1) 明確指定 工作表單之歸屬。
譬如: Sheet1.Cells(i, 1) 等。

TOP

回復 6# c_c_lai
假設a1至a10儲存格內容各為100.18.22.1至100.18.22.10,而將ping的結果依序放在B1至B10的儲存格上,程式如下,已經測試在xp及W7,32位元可以執行,但在W7,64位元系統則在    RetVal = Shell("command.com /c Ping -n 1 " & Cells(i, 1) & " > " & ThisWorkbook.Path & "\" & i & ".txt") 這行指令發生錯誤,請問如何修正?謝謝!

另外不知有無方法直接將 ping 的結果直接寫入B1至B10的儲存格,而不必經由寫入txt檔後,再開啟txt檔將其寫入B1至B10儲存格內。十分感激!

Sub Test()
  Columns("B:C").Select
  Selection.ClearContents
  費時 = Timer
  For i = 1 To 10
    RetVal = Shell("command.com /c Ping -n 1 " & Cells(i, 1) & " > " & ThisWorkbook.Path & "\" & i & ".txt")
  Next i
  
  休息 = Timer
  Do While Timer - 休息 < 2
    DoEvents
  Loop
   
  For i = 1 To 10
    文字檔 = ThisWorkbook.Path & "\" & i & ".TXT"
    代碼 = FreeFile    ' 取得未使用的檔案代碼。
    Open 文字檔 For Input As #代碼
    字長 = LOF(代碼)
    Cells(i, 2) = Input(字長, #代碼)
    Close #代碼    ' 關閉檔案。
  Next i
  Cells(1, 3) = Timer - 費時
End Sub
龍

TOP

正研究中,十分感激!謝謝!
龍

TOP

        靜思自在 : 看別人不順眼,是自己修養不夠。
返回列表 上一主題