2012-04-12 3 views
0

次のコードはvbscriptで書かれており、Visual Basicに変換中です。VBscriptをVBエラーに変換する(正しい文字をチェックする)

次の行にあります。If Right(LCase(oFile.Name), 3) = "pdf" Then次のエラーが表示されます。変数 'Right'は、値が割り当てられる前に使用されます。実行時にnull参照例外が発生する可能性があります。また、Object変数またはWithブロック変数が設定されていません。

私の知る限りでは、ファイル名の右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 

あなたのプログラムの先頭で。 "右"はこの名前空間内の関数です。

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

+0

は、私は、これは 'Microsoft.VisualBasic.Right(LCASE(oFile.Name)、3)= "PDF" Then'は片道優れているのあたりに言うならば使用することをやってしまいましたか? – Muhnamana

+0

ほとんどの人は、より小さくてきれいなコードを持つために、最初にそれを置いています。しかしどちらにしてもそれは絶対に受け入れられます。 –

関連する問題