エクセルファイルの取り込み

解決


初心者  2009-03-12 19:42:44  No: 141669

早速ですが質問させていただきたいと思います。

エクセルに「取込」ボタンがあり、それを押してダイアログからエクセルファイルを選択、選択したファイルを取り込んで表示、項目チェック、といったことを行いたいです。
ですが、エクセルファイルを取り込む、というところで詰まってしまっています。
色々調べた結果、テキストやcsvファイルの取り込み方法は見つけられたのですが、エクセルの取り込み方法は見つけることが出来ませんでした。

どなたか、エクセルファイルの取込方法についてアドバイス、もしくは参考になるサイト等教えていただければ幸いです。
宜しくお願いします。


3月  2009-03-12 20:43:08  No: 141670

まずは環境を書いて下さい。  VB6なのか、VB_NETなのか?
VB6なら下記の花ちゃんさんのページの
「カテゴリ別一覧」「Excel・Word関係」

ただし
かならず下記を読んでからにして下さい。
「VBからExcel及びWordを操作する時の注意事項(最初に必ずお読み下さい)」

http://hanatyan.sakura.ne.jp/


どうもと  2009-03-12 21:06:09  No: 141671

Visual Basic .NET で Excel を自動化し、
配列による範囲内へのデータ入力
および範囲内からのデータ取得を行う方法

http://support.microsoft.com/kb/302094/ja

ただ「エクセルファイルの取り込み」という概念はないと思ったほうがいいと思います。

エクセルファイル=エクセルブック=複数シートの集合です。


初心者  2009-03-13 01:26:12  No: 141672

返信ありがとうございます。

申し訳ありません。取り込むファイルはエクセルファイルでなく、tsvファイルでしたm(__)m

その上で、各種サイトを参考にファイルを読み込むことは成功しました。
ただ、ボタンを押したシートの判別方法が分からず困っています。

おおまかな処理の流れは下記の通りです。
1.ダイアログを開いてtsvファイルを選択
2.選択したファイルをエクセル上に表示
3.表示した項目のチェックを行う
4.エラーの項目はセルの背景色を変える

上記、2までは成功し、3のところで詰まっています。
例)tsvの中身が氏名、年齢とした時、シート1では氏名のチェック(全角○字以下)、シート2では年齢のチェック(数字か)を行う。

とした時にボタンを押したシートのシート名で分岐を行いたいのですが、それは可能でしょうか?
自分で調べた限りシート名の取得は出来ても、ボタンを押した(アクティブな)シートの名前を取得する方法を見つけることが出来ませんでした。

調べ方が悪いと言われたらそれまでですが、何卒アドバイスを宜しくお願い致します。
なお、使用しているのはVB6です。


  2009-03-13 02:00:01  No: 141673

「ボタンを押したシート」って何?
VB6からExcelをどう操作してるの?

#実はVBAだったりしない?


たぬ  2009-03-13 07:41:02  No: 141674

こんなのを作ります。
Sub Macro1()
    Select Case ActiveSheet.Name
    Case "Sheet1"
        MsgBox "Selet Sheet1"
    Case "Sheet2"
        MsgBox "Selet Sheet2"
    Case "Sheet3"
        MsgBox "Selet Sheet3"
    End Select
End Sub

でシート毎もしくはツールバーとかに貼り付けた
ボタンにこれを割り当ててみてはどうでしょう。
MsgBoxの代わりに好きな処理を書けば実現出来ると思います。
現在選択されているシートは
ActiveSheet.ほにゃらら
で操作出来るはずです。

#多分私より詳しいと思いますので
#ボタンとマクロのひも付けについては詳しくは書き(け)ません。


たぬ  2009-03-13 07:50:04  No: 141675

あ、VBAの場合の話です。

#ここはVB全般に回答がつきますので
#環境は書いた方が吉です。


初心者  2009-03-13 20:22:06  No: 141676

ありがとうございます。
ActiveSheet.Nameを使って無事達成できました。
ということはVBAだったということなんでしょうか?
バージョンを確認すると「Microsoft Visual Basic 6.5」と出ていたのでVB6と書いてました。

ともかく、当初の問題は解決しました。ありがとうございましたm(__)m


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加