2回目の投稿をさせて頂きます。
ご教授の程、宜しくお願いいたします。
① VB6にて、テキストファイルをEXCELにてOPEN
② VB6内のstring変数にタブ区切りの文字列を作成
③ ②で作成した変数を①でOPENしたファイルに貼り付け
④ ①のファイルをEXCELでクローズ
上記処理において、クローズしたファイルをEXCELで開いた時に
EXCELが正常にタブ区切りデータを各セル毎に表示する為には
③の処理をどのように行なえばよいでしょうか?
色々試したのですが、ひとつのセルの中にタブ区切りのデータが全て
入力されてしまいます・・・
宜しくお願いいたします。
「タブ区切りデータを貼り付ける」のは面倒かもしれませんが、
「一つ一つのセルに値を入れていく」のは簡単ではありませんか?
私なら後者を考えると思います。
ご返答ありがとう御座います。
今回、プログラムの修正を行なっています。
既存処理は既に、変数にタブ区切りのデータを作っている為
その部分を修正するのは、作業ボリュームがかかってしまう問題が
あり、今回のような質問を提出させていただきました。
>2回目の投稿をさせて頂きます。
1回目の投稿で指摘されなかったかもしれませんが、○数字は
機種依存文字ですので、インターネット上での使用は控えましょう。
>クローズしたファイルをEXCELで開いた時
開くのは、プログラム?それともユーザの操作?
ご返信、ありがとう御座います。
>1回目の投稿で指摘されなかったかもしれませんが、○数字は
>機種依存文字ですので、インターネット上での使用は控えましょう。
ご指摘ありがとう御座います。
今後、気を付けます。
>開くのは、プログラム?それともユーザの操作?
開く操作は、プログラムで行ないます。
うーん…例えば、こんなことが出来ます。
s=<タブ区切りの文字列>
for each v in split(s,vbtab)
debug.? v 'このvをセルに書いて行ったり。
next
後、たしかExcelでタブ区切りのファイル(tsv)を開くことが出来た気がするので…
タブ区切りファイルとして読み込ませるとか…?
追記です。
タブ区切りデータをテキストファイルに保存して、
拡張子をxlsにしてみたところ、
Excel(Excel97)で普通に表示されてしまいました…
あんまり信用は出来ませんが、とりあえず(ぇ
ガッ さん回答ありがとう御座います。
>s=<タブ区切りの文字列>
>for each v in split(s,vbtab)
> debug.? v 'このvをセルに書いて行ったり。
>next
これは、一度作成したタブ区切りデータを1つ1つ切り出す
と言う事ですね?
この場合、シートを選択する上で、列(A,B,C)を指定する場合
列の指定を数字で指定する事が可能でしょうか?
タブ区切りデータの数は動的ですので
ソース上に、A,B・・と指定するのはかなり辛いかと
思いまして・・・
えーと例えば、
Option Explicit
'Microsoft Excel ?? Object Library を使います
Private xlsApp As Excel.Application
Private Sub Form_Load()
Dim i As Long
Dim k As Long
Dim xlsWorkBook As Excel.Workbook
Set xlsApp = New Excel.Application
xlsApp.Visible = True
Set xlsWorkBook = xlsApp.Workbooks.Add
With xlsWorkBook
.Sheets.Add
With .Sheets(1)
For i = 1 To 10
For k = 1 To 10
.Cells(i, k) = "i*k=" & i * k
Next
Next
End With
End With
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
xlsApp.DisplayAlerts = False
Call xlsApp.Quit
Set xlsApp = Nothing
End Sub
の様に…ですか?
すみません、なんか誤爆してる気がします。
あ、後オートメーションは手違いを起こすとメモリ上に操作対象のアプリケーションが延々残る可能性がありますので、
花ちゃんさんのサイトなどで色々お調べ下さいませ。
VBレスキュー(花ちゃん):
http://www.bcap.co.jp/hanafusa/index.html
※多分私のは間違っている…気がします。
ガッ さん度々のご回答ありがとう御座いました。
結局、セルの先頭にタブ区切り文字列を貼り付け
最後に、区切り位置の変更を行う事で、ループを回し
セル一つ一つに貼り付ける方法を回避する事が出来ました。
度々のご教授ありがとう御座いました。