はじめまして。
初心者なもので「そんなこと」と思われる質問かもしれませんが、
よろしくお願いします。
今回エクセルファイルを参照して、その内容をDBに登録、といったことを
行いたいのですが自身で調べて参考になりそうなものを探したところ
ファイル参照の段階でクラスモジュールなどを使用していて、その中身が
初心者の自分には非常に難しいものでした。
ファイルを参照するにはそういったステップを踏まないとできないのでしょうか?
正直今のところフォームのコードにしか書き込んだことしかないので、
ほかのモジュールなどを使わないで済むのであればどのように
書けばいいのかを教えていただきたいです。
わかりづらい説明ではありますが、どうかよろしくお願いします。
> わかりづらい説明ではありますが
えー。申し訳ありませんがよく分かりません。
とりあえず、以下の内容の質問だと思うんですが・・・あってますか?
・VB6でプログラムを作ろうとしている。
・対処とするExcelファイル名は固定の名称。
・ExcelファイルをOpenして、セルの内容を読み込む。
・DB(何のデータベースで、どういう方法で接続しようとしているか不明ですが)に、その内容を登録する。
・質問内容は、「Excelファイルの開き方」。
> ファイル参照の段階でクラスモジュールなどを使用していて
クラスモジュールって・・・別に必要ないのでは?
#単に、そのサンプルが再利用とかを考えてプログラムをクラスにまとめているだけとか・・・
> ファイルを参照するにはそういったステップを踏まないとできないのでしょうか?
そうやっていない、サンプル等は無かったですか?
#クラス化しているほうが珍しいと思いますけど・・・
#VB6のヘルプ(MSDNライブラリ)の「CreateObject 関数」にも
#簡単なサンプル(「Excelファイルを開いて書き込む」という逆用途ですが・・・)が出てますね。
あ。
タイトルが「ファイルダイアログについて」
って事は、
・VB6でプログラムを作ろうとしている。
X対処とするExcelファイル名は固定の名称。
=>ダイアログを表示して、ファイルを選択する。
・ExcelファイルをOpenして、セルの内容を読み込む。
・DB(何のデータベースで、どういう方法で接続しようとしているか不明ですが)に、その内容を登録する。
X質問内容は、「Excelファイルの開き方」。
=>質問内容は「ファイルダイアログの表示の仕方」?
なのかな・・・
お返事ありがとうございます。
>・VB6でプログラムを作ろうとしている。
>X対処とするExcelファイル名は固定の名称。
>=>ダイアログを表示して、ファイルを選択する。
>・ExcelファイルをOpenして、セルの内容を読み込む。
>・DB(何のデータベースで、どういう方法で接続しようとしているか不明ですが)に、その内容を登録する。
はい。その通りです。
>X質問内容は、「Excelファイルの開き方」。
>=>質問内容は「ファイルダイアログの表示の仕方」?
はい。その通りだったのですが、
>そうやっていない、サンプル等は無かったですか?
のお言葉からもう一度調べなおしたところ、なんとかExcelファイルを開くことはできました。
次はDBへの登録に取り掛かりたいと思いますが、すんなりはいかないであろうと
思いますので、後ほどまた質問させていただきたいと思います。
ちなみに
>何のデータベースで、どういう方法で接続しようとしているか不明ですが
はAccessで
With table
.col =
.row =
.text =
End With
といったやり方で登録しようと考えていました(回答になっていますでしょうか?)。
ではまた後ほどよろしくお願いしますm(_ _)m
度々失礼します。
今度はエクセルファイルかどうか判断し、DBに登録しようとしているのですが
If txt.Text = "" Then
MsgBox "エクセルファイルを選択してください"
ElseIf Right(txt.Text, 4) <> ".xls" Then
MsgBox "エクセルファイルを選択してください"
ElseIf Right(txt.Text, 4) = ".xls" Then
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("txt.Text")
Set xlSheet = xlBook.Worksheets(1)
If xlSheet.Cells(1, 1).Value <> "社員コード" Then
MsgBox "×"
End If
でちゃんとA1に社員コードと書いてあってもMsgBoxが表示されてしまいます。
これはなぜなのでしょうか?
一応私の仮説としては参照しているtxt.Textが名前だけで、
中身を参照できていないのかな、と考えているのですがいかがでしょうか?
アドバイスをお願いしますm(_ _)m
> Set xlBook = xlApp.Workbooks.Open("txt.Text")
コレだと、「txt(テキストボックス?)のTextプロパティで指定されたファイル」じゃ無くて、
「"txt.Text"」というファイルをオープンしようとします。
> Set xlBook = xlApp.Workbooks.Open(txt.Text)
なのでは?
あう...失礼しました。
その通りでした。
ありがとうございました。
ツイート | ![]() |