
No.4ベストアンサー
- 回答日時:
ちょっと、致命的なミスをしていましたので訂正します。
Private Sub Command1_Click()
Dim I As Integer
Dim strText As String
Dim strTexts(1) As String
Me.Text1(1).Text = ""
If Len(Me.Text1(0).Text & "") > 0 Then
strTexts(0) = Me.Text1(0).Text
Do
I = I + 1
strText = CutStr(strTexts(0), vbCrLf, I)
If strText <> "" Then
strTexts(1) = strTexts(1) & strText & vbCrLf
End If
Loop Until strText = ""
Me.Text1(1).Text = Left(strTexts(1), Len(strTexts(1)) - 1)
End If
End Sub
フォームのテキストボックスからの読み込みと書き込みは最小ステップにするべきでした。
おお~できました。
迅速な回答を頂いて感謝しています。
また何かありましたら、宜しくお願いいたします。
本当にありがとうございました!!
No.5
- 回答日時:
こんにちは
やりたいことがいまいちわかりませんが、
回答への補足を見ていると
text2.text = text1.text
わざわざstResultを経由しなくてもよさそうですが。
改行付のテキストを配列に入れるには以下の方法はどうでしょうか?
dim hairetu() as String
hairetu = split(text1.text, vbNewLine)
VB6がないので検証できませんが間違っていたらゴメンナサイ。
No.3
- 回答日時:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Debug.Print KeyCode
End Sub
は、無関係。
No.2
- 回答日時:
Private Sub Command1_Click()
Dim I As Integer
Dim strText As String
Me.Text1(1).Text = ""
If Len(Me.Text1(0).Text & "") > 0 Then
Do
I = I + 1
strText = CutStr(Me.Text1(0).Text, vbCrLf, I)
If strText <> "" Then
Me.Text1(1).Text = Me.Text1(1).Text & strText & vbCrLf
End If
Loop Until strText = ""
Me.Text1(1).Text = Left(Me.Text1(1).Text, Len(Me.Text1(1).Text) - 1)
End If
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Debug.Print KeyCode
End Sub
Private Sub Form_Load()
Me.Text1(0).Text = "001" & vbCrLf
Me.Text1(0).Text = Me.Text1(0).Text & "002" & vbCrLf
Me.Text1(0).Text = Me.Text1(0).Text & "003"
End Sub
このように、CutStr関数などで1行づつ抽出するという方法があります。
Public Function CutStr(ByVal Text As String, _
ByVal Separator As String, _
ByVal N As Integer) As String
Dim strDatas() As String
strDatas = Split("" & Separator & Text, Separator, , 0)
CutStr = strDatas(N * Abs((N <= UBound(strDatas))))
End Function
[イミディエイト]
? CutStr("AAAA/BBBB/CCCC", "/", 1)
AAAA
? CutStr("AAAA/BBBB/CCCC", "/", 2)
BBBB
? CutStr("AAAA/BBBB/CCCC", "/", 3)
CCCC
質問の案件では、区切り文字がスラッシュ(/)ではなく cbCrLf ということです。
? CutStr("AAAA AND BBBB AND CCCC", " AND ", 1)
AAAA
と、CutStr関数が、区切り文字の長さを問いませんので Chr$(13) & Chr$(10) を指定できます。
No.1
- 回答日時:
テキストボックスの内容をプログラムの中で配列の変数を切って
それに入れていって、配列で処理するのはだめなんですか?
この回答への補足
返信ありがとうございまうす。
テキストファイルならば、
-------------------------------------------
' 使用可能なファイル番号を取得する
Dim iFileNo As Integer
iFileNo = FileSystem.FreeFile()
' ファイルを開く
Open "C:\Hoge.txt" For Input As #iFileNo
' 読み込んだ結果をすべて格納するための変数を宣言する
Dim stResult As String
' ファイルを 1 行ずつ読み込む
Do While (Not FileSystem.EOF(iFileNo))
' ファイルを 1 行ずつ読み込む
Dim stBuffer As String
Line Input #iFileNo, stBuffer
' 読み込んだものを追加で格納する
stResult = stResult & stBuffer & vbNewLine
Loop
' ファイルを閉じる (正しくは オブジェクトの破棄を保証する を参照)
Close #iFileNo
' 結果を表示する
Call MsgBox(stResult)
----------------------------------------------------------------------
のようにテキストファイルの内容を1行ずつLine inputで読み込んで、1行ごとに「”」で囲むなど出来ますが、テキストボックスだとLine inputで読めないので困っているのです。
宜しくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
RPG 配列宣言について
-
vba フィルター 複数条件 3つ以...
-
CheckBoxの配列化
-
VB6からの移行したいけど、VB.N...
-
定数配列の書き方
-
大量の変数を定義するにはどう...
-
OutOfMemoryExceptionの回避策...
-
VBScriptでCSVファイルを読み出...
-
Dir関数で読み取り順を操作でき...
-
VCのDLL内でmallocした構造体を...
-
エクセルでXY座標に並べられた...
-
SPLIT関数
-
構造体配列の特定のメンバーをF...
-
配列の中から最大値だけ取り出...
-
Excel2010のinputboxで複数デー...
-
構造体?二次元配列?
-
VBAのワークシート関数で配列の...
-
ExcelVBAで配列をベースに配列...
-
AVERAGEIFSに相当する関数はな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
C#でbyte配列から画像を表示さ...
-
エクセルでXY座標に並べられた...
-
Dir関数で読み取り順を操作でき...
-
vba フィルター 複数条件 3つ以...
-
配列のペースト出力結果の書式...
-
複数のtextboxの処理を一括で行...
-
Excelのメモリ(配列)の上限は2G...
-
配列の中の最大値とそのインデ...
-
大量の変数を定義するにはどう...
-
Excel2010のinputboxで複数デー...
-
COBOLの基本的な事なので...
-
構造体配列内の文字列検索のよ...
-
VBAでMODE関数をつくる
-
Redim とEraseの違いは?
-
VBScriptでCSVファイルを読み出...
-
VB6のメモリ解放に関して
-
VB.NETの配列にExcelから読み込...
-
Segmentation Fault (メモリ制限?)
-
ActiveReports(アクティブレポ...
おすすめ情報