VB6.0を始めたばかりの初心者です。
以下のサイト「厳選ツールサンプル集」でVB.NETで可能そうなプログラムを見つけたのですが、
VB6.0ではエラーが出るようです。
また、配列を宣言した後に
Redimを使っていないようですが、
UBoundで配列の変数の数を取得していると考えてよいのでしょうか?
そしてこういった使い方はVB6でも出来るのでしょうか?
過去ログを検索したのですが、Redimを使う回答しか見つけられなかったので、
ご存知の方がいたら教えてください。
http://anetm.com/dev/d.cgi?SC=DTDTL&o=OOe
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
下記でVB4,5,6、エクセルVBAで動くと思います。
VB.NETは初心者ですが、何か参考になれば。質問で指定のURLのコードと異なっている個所が、VB.NETでの新仕様だと思います。小生もVB.NETを勉強しなくてはと思いました。
LineInputはDOS-BASIC時代からあります。
ReadLineは
http://homepage1.nifty.com/MADIA/vb/vb_bbs2/2002 …
のようにVBScriptで使えるが、VB6では使える
のでしょうか。
Sub csvread()
Dim strLine As String '1行
Dim strTemp() As String '戻り配列
Dim intCnt As Integer '配列添え字
Dim strData As String 'データ
Open "c:\my documents\aaa.csv" For Input As #1
'次の行へ
While Not EOF(1)
Line Input #1, strLine
'行単位データをカンマ部分で分割し、配列へ格納
strTemp = Split(strLine, ",")
For intCnt = 0 To UBound(strTemp)
'テスト的に、列番号を印字
strData = strData + "★" + CStr(intCnt) + "列目"
'列データ strTemp(intCnt) を取得
strData = strData + strTemp(intCnt)
Next
'テスト的に、行の終わりを印字
strData = strData + "■行終"
MsgBox strData
'次の行へ
Wend
'デバッグでテキストフィールドへ書きだします。
TextBox1.Text = strData
'エクセルVBAの場合
' Worksheets("sheet2").TextBox1.Text = strData
'ファイルのクローズ
Close #1
End Sub
この通りに実行するとmsgBoxに追加されてテキストフィールドに書き込めませんでした。
csvファイルが大きすぎたのかもしれません。
とりあえず目的のことができるようになりました。
ありがとうございました。
No.1
- 回答日時:
VB6.0 では、ReDim を使用するしか方法がないと思います。
どうせ ReDim で要素数を指定しなければならないので、UBound は不要ですね。
Do While ...
lng_Index = lng_Index + 1
ReDim Preserve str_Temp(lng_Index)
str_Temp(lng_Index) = ...
...
Loop
のような感じでしょうか。
ありがとうございます
Split関数を使うとRedimは使わなくてもよいようです。
どういった処理をしてるのかはわかりませんでしたが、一応目的のものはできました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) ExcelVBAで質問です。離れた二次元配列を一つにしたい 4 2022/07/26 19:06
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) VBAでのMATCH関数 3 2022/10/17 19:06
- Ruby 初心者プログラミング 3 2022/10/12 11:31
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- Visual Basic(VBA) VBA横データを縦にしたいです 2 2023/08/08 19:38
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- その他(ソフトウェア) 一太郎付属の”全件検索”ツールの不具合 3 2023/07/25 15:03
- その他(プログラミング・Web制作) プログラミングについて(Python) 添付した画像はC言語で簡単に作ったソースで、1つの配列に5つ 3 2022/09/10 19:15
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
[エクセル]連続する指定範囲か...
-
Excelのセルの色指定をVBAから...
-
ExcelのINDEXとMATCH関数でスピ...
-
Excelのオートフィルタで抽出し...
-
[VBA]改行入りのセルの値を配列...
-
DataSetから、DataTableを取得...
-
array関数で格納した配列の型を...
-
Excel オートフィルタのリスト...
-
VBA listBoxについて
-
表にフィルターをかけ、絞った...
-
Excel VBA 配列の分割について
-
エクセルで、絶対値の平均を算...
-
VB6・Split関数・連続した空白...
-
csv形式のファイルを配列に...
-
【C#】二次元配列へのcsvファイ...
-
EXCEL VBA 2次元配列に格納さ...
-
.NET - 配列変数を省略可能の引...
-
配列のSession格納、及び取得方...
-
[マクロ]配列を区切り文字で変...
-
エクセルVBAで変数をセルに一行...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelのINDEXとMATCH関数でスピ...
-
array関数で格納した配列の型を...
-
Excelのセルの色指定をVBAから...
-
[エクセル]連続する指定範囲か...
-
エクセルで、絶対値の平均を算...
-
VBA listBoxについて
-
表にフィルターをかけ、絞った...
-
VBA 配列に格納した値の平均の...
-
iniファイルのキーと値を取得す...
-
[VBA]改行入りのセルの値を配列...
-
配列がとびとびである場合の書き方
-
エクセルでエラーを無視して一...
-
DataSetから、DataTableを取得...
-
Excel オートフィルタのリスト...
-
Split関数でLong配列に格納する...
-
読み込みで一行おきに配列に格納
-
VB6.0 ファイルの一括読込み
-
SUMPRODUCT関数を用いた最小値
-
INDEX(D:D,L3)の意味は?
-
Dictionaryを使い4つの条件の一...
おすすめ情報