2012-04-12 21 views
0

下面的代碼是用vbscript寫的,我正在轉換到visual basic。將VBscript轉換爲VB錯誤(檢查正確的字符)

在以下行上:If Right(LCase(oFile.Name), 3) = "pdf" Then我得到以下錯誤:變量'Right'在它被賦值之前使用。運行時可能會導致空引用異常。也就是說Object變量或With block變量沒有設置。

據我所知,我相信它是檢查,以確保文件名正確的3個字符是「pdf」?

For Each oFile In oFolder.Files 
     If Right(LCase(oFile.Name), 3) = "pdf" Then 

      Data = Replace(oFile.name, ".pdf", "") 
      Data = Replace(oFile.name, ".PDF", "") 

      Data = Split(Data, "-") 
      acct = Data(1) 
      lob = Data(2) 

      fileName = clientid & "-" & acct & "-" & lob & "-" & speciesid & "-" & seq & ".pdf" 

      outputLine = acct & "," & speciesid & "," & lob & "," & oFile.Name & "," & inputDate 

      oOutFile.WriteLine(outputLine) 

     End If 
    Next 

回答

1

你需要把:

Imports Microsoft.VisualBasic 

在程序的開始。 「Right」是這個命名空間的一個功能。

http://msdn.microsoft.com/en-us/library/dxs6hz0a(v=vs.80).aspx

+0

最後我做這個'如果Microsoft.VisualBasic.Right(LCASE(oFile.Name),3)= 「PDF」 Then'是一個更好的方式每說使用? – Muhnamana 2012-04-12 17:06:25

+0

大多數人在開始時就把它放在更小,更乾淨的代碼中。然而,無論哪種方式都是完全可以接受的。 – 2012-04-12 19:04:47