2012-12-27 64 views
0

我使用的是被稱爲移動它Central軟件。它允許上傳VBScripts以用於各種文件。 MICacheFilename()返回C:\TEMP\path\file.tmp行然而,這文件是一個簡單的txt文件。使用的OpenTextFile具有.tmp文件

我正在嘗試使用OpenTextFile方法來計算此文本文件中有多少行,但是我收到錯誤Object doesn't support this property or method。我似乎無法弄清楚爲什麼我得到這個。腳本如下。我相信很多的問題是用戶錯誤,因爲我難以置信的新VBS

Sub main() 
    Dim objFSO, textInput, strTextFile, actualRows, testRows, mFunction, strTemp 
    CONST ForReading = 1 

    MISetTaskParam "cachedFile", mFile 
    textInput = "the next line is the cachedFile" 
    MILogMsg textInput 
    MILogMsg mFile 


    Set objFSO = CreateObject("Scripting.FileSystemObject") 
    strTextFile = MICacheFilename() 
    textInput = objFSO.OpenTextFile(strTextFile,ForReading) 
    testRows = MIGetTaskParam("testRows") 

    Do While textInput.AtEndOfStream <> True 
     strTemp = textInput.SkipLine 
    Loop 
    IF textInput.Line-1 >= testRows THEN 
     MILogMsg "true" 
    ELSE 
     MILogMsg "false" 
    END IF 
end sub 
main 
+0

什麼whjen您更換髮生你的strTextFile strTextFile =「C:\ Temp \ path \ file.tmp」?它工作嗎?我想知道如果MICacheFilename沒有返回一個字符串。沒有看到這個功能,可能很難說。 – Andrew

+0

我會嘗試,但我相信該文件只有在任務(移動中央)執行時在臨時文件夾中。而文件名和什麼都不是隨機生成的。有關我如何解決這個問題的任何想法? – mhopkins321

+0

執行該功能(但不要嘗試將其設置爲字符串)。所以首先,在您的腳本中,只需調用MICacheFileName()。我懷疑這個函數創建了這個文件,並且不會像你當前正在嘗試的那樣返回一個字符串。如果它始終位於臨時文件夾中,那麼可以使用FileExists在該文件夾(在函數運行後)爲.tmp文件執行搜索,然後對其進行處理。 – Andrew

回答