2017-02-14 4 views
1

メモ帳ファイルの最初の2文字を読み取れるコードがあります。コードは以下の通りです:Excel VBA - n番目の文字の後のメモ帳ファイルの読み取り

Public Sub extractInt() 

    Dim sText As String 

    Open "C:\ProgramData\regid.512-06.com.system.microsoft\regid.512-06.com.system.microsoft.12606768.dat" For Input As #1 

    sText = Input$(2, 1) 

    Close #1 

    Worksheets("ED").Range("C01").Value = sText 

End Sub 

6文字目以降は読んでみたいと思います。例えば

メモ帳ファイル内の文字列がある場合:

"abcefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" 

私は"hijkl"を読みたいです。

あなたのお役に立てば幸いです。

答えて

2

だけInput$の引数を変更し、Rightを使用します。

Input$(Number_of_Chars_To_Return, [#]NumFile)
Right(String,Number_of_Chars_From_the_Right)

Public Sub extractInt() 

    Dim sText As String 

    Open "C:\ProgramData\regid.512-06.com.system.microsoft\regid.512-06.com.system.microsoft.12606768.dat" For Input As #1 

    sText = Right(Input$(11, #1), 5) 

    Close #1 

    Worksheets("ED").Range("C01").Value = sText 

End Sub 
+1

これは素晴らしいです。ありがとう – Jeeva

2

あなたが最初sTextにテキストファイル内の文字列を読み込むことで、これを処理するためにMid機能を使用することができます変数。その後

、とMid機能を使用します。

sText = Mid(sText, 7, Len(sText) - 6) 

Mid機能説明:MSDN

コード

Public Sub extractInt() 

    Dim sText As String 

    Open "C:\ProgramData\regid.512-06.com.system.microsoft\regid.512-06.com.system.microsoft.12606768.dat" For Input As #1 
    Input #1, sText 
    sText = Mid(sText, 7, Len(sText) - 6) 

    Close #1 
    Worksheets("ED").Range("C01").Value = sText 
End Sub 
+0

ハイ・シャイ・ラドー。それは動作していますが、期待どおりの結果ではありません。以下の答えは期待どおりの答えを与えた。情報をありがとう。 – Jeeva

関連する問題