VB2010でExcelからの読み出しをする方法は?

このQ&Aのポイント
  • VB2010 Express版でExcelからの読み出しをする方法を教えてください。作成したVBソフトでRunをさせるとファイルが見つからないエラーメッセージが表示されます。ファイルの場所や名前に間違いはなく、拡張子も正しいです。
  • VB2010でのExcelからの読み出しに関して、先ずは公共宣言領域でExcelオブジェクトとシートを定義します。その後、CreateObject関数を使用してExcelアプリケーションを作成し、WorkBooks.OpenメソッドでExcelファイルを開きます。読み込むコマンドの実行後には、QuitメソッドでExcelを終了させ、オブジェクトを解放します。
  • VB2010 Express版でExcelからの読み出しをする際に、ファイルが見つからないエラーメッセージが表示されます。ファイルの場所や名前に間違いはなく、拡張子も正しいです。この問題の解決方法を教えてください。
回答を見る
  • ベストアンサー

VB2010でExcelからの 読み出しを したいのですが…

VB2010でExcelからの 読み出しを したいのですが… お教え下さい VB2010 Express版で、ソフトを考えている者です VBからExcelを呼び出し、その内容を取得しようとするのですが、作ったVBソフトでRunをさせると、 [ C:\Users ~(途中を省略)~ \Aa_新VB2010関係 \Excel台帳群_新規開発2209212 が見つかりません。ファイル名およびファイルの保存場所が正しいかどうかを確認してください。 ] そうして更に、[ 最近使用したファイルの一覧からファイルを開こうとしている場合は、そのファイルの名前が変更されていないこと、移動または削除されていないことを確認して下さい。 ] と言うエラーメッセージが現れます。 なので、デスクトップのフォルダー欄から所定のExcelプログラムを選択し、その[プロパティ]ウィンドウから[場所]と[プログラム名]との項で確認したのですが、何も間違いはありませんでした 又、[ファイルの種類]の項には[Microsoft Office Excel ワークシート (.xlsx) ]とあったので、念の為に[ ~\Excel台帳群_新規開発2209212.xlsx ]と [.xlsx]の5文字をそのファイル名の後ろに付け足してみましたが、矢張り同じメッセージが出て 改善されませんでした 因みに そのVB2010でのプログラム文とは、 先ず Common宣言領域で Public xl対I象 As Object と 宣言をし、 Public n_A比較資料 As Integer = 1 と シートの定義をし、 其れから、 xl対I象 = CreateObject("Excel.Application") xl対I象.WorkBooks.Open("C:\Users ~(途中を省略)~ \Aa_新VB2010関係 \Excel台帳群_新規開発2209212 ") … 此処で 読み込むコマンドが入る … xl対I象U.Quit() xl対I象U = Nothing と言う具合に コードを書いております VB.NET最初版では 此れで 十分に 読み込んでいたのですが… 何が間違いなのか、何の様に直したら良いのか、よく解りませんので お教え下さい 宜しく お願い致します akqsp より …尚、前にも 同じ内容の質問を 出しましたが、文内に不備あり、こちらが 「正」です 前の質問は 無視して下さい

  • akqsp
  • お礼率89% (17/19)

質問者が選んだベストアンサー

  • ベストアンサー
  • samtomsan
  • ベストアンサー率55% (1060/1897)
回答No.1

見当はずれだったら申し訳ありません。 文字セットが Unicode の指定になっているためではないでしょうか。 Windowsのファイルシステムは S-JIS ですからその違いのような気がします。 例えば下記の文字セットを参照してください。 http://akademeia.info/index.php?VB.NET%2F%A5%C6%A5%AF%A5%CB%A5%C3%A5%AF%2FWin32API%A4%CE%CD%F8%CD%D1

akqsp
質問者

お礼

samtomsan 様 ありがとう ございました まさか 文字コードに 種別がある、とは知りませんでした UNIコード 等 を 勉強します ありがとうございました akqsp より

関連するQ&A

  • VBによるEXCELの書き込み

    お世話になっております VB2010でのEXCEL書き込みで質問です 今、VB2010で、EXCELに書き込む処理を行っています EXCELの参照を追加はせず、Object型にEXCELをセットして、EXCEL参照がなくても使用できるようになっています 問題は、VB2010でEXCELでファイルを書き込み中にスタートメニュー等からEXCELを開き、そこから他のEXCELファイルを開くとVBで実行中のEXCELも開いてしまい、そのVB2010での実行中のEXCELを閉じるとVBの方でエラーが起きてしまいます VB2010で使用するEXCELを、スタートメニューから開いたEXCELが使用しないようにすむ方法はありますでしょうか

  • VB6.0でVB上にExcel

    VB上にExcelオブジェクトを貼り付け、特定の条件に当てはまったとき既存のExcelファイルのSheet1を乗せたいという場合は、どうすればいいのでしょうか?

  • VB2005でExcel2003とExcel2007

    初めまして、VB2005でExcelに出力するプログラムの開発を 行っているのですが、大変困っています。 どなたか教えて頂けないでしょうか。 VB2005の参照設定でMicrosoft Excel12.0 Object Library指定 してExcel2007をインストールしているパソコンでは Excelに出力できますがExcel2003を インストールしているパソコンではExcelに出力できません。 又、VB2005の参照設定でMicrosoft Excel11.0 Object Library指定 してExcel2003をインストールしているパソコンでは Excelに出力できますがExcel2007を インストールしているパソコンではExcelに出力できません。 Excel2003・Excel2007どちらがインストール されていてもExcelに出力できるプログラムを作成したいの ですが、何か方法はないでしょうか。 サンプル等があるHPがありましたら教えてください。

  • VB2005→Excelへの出力

    現在、以下環境にてシステム開発を行っています。 OS:WindowsXP DB:SQL Server 2005 画面系:Visual Studio 2005 (VB) 帳票系:Microsoft Office 2003 (Excel) ここで質問なのですが、 VBにて取得したデータ(DBから取得)を、 Excelファイルの帳票テンプレートの名前付きセルに貼り付けたいのですが、 方法がわかりません。VB、Excelでの開発(プログラミング)初心者です。 「Imports Microsoft.Office.Interop.Owc11」 をインポートしてるだけで停まっています。 情報足らずであれば、また追記します。 とりあえず要件まで。 宜しくお願いします。

  • vb2005からExcelの変数に値をセット

    vb2005、WindowsXP、Excel2000で開発しています。 vb2005にて、Excel内にコーディングしてあるVBAの変数に値をセットする ことは可能なのでしょうか。 Excel4MacroSheets.Applicationとかそうかなと思ったのですが行き詰って しまいました。 どなたかご存知の方がいらっしゃいましたら教えて下さい。 宜しくお願いします。

  • VB6 からEXCEL起動をブロックする方法

    VB6を使用してEXCELを開き色々コントロールするプログラムを作成したのですが、EXCELをプログラムからでなく、単独で起動してしまうとVB6から開いたEXCELのコントロールに悪影響を与えてしまうようです。 そこで、VB6で作成するプログラムの中にEXCELを単独で起動出来ないようにブロックするコードを入れられないかと考えています。 良い方法がありましたらご教授下さい。

  • vb2022 Resourcesの中のエクセルの扱

    vb2022 Resourcesの中のエクセルの扱い方を教えて下さい サンプルに貰ったvb(フォームアプリケーション)のソースには Resourcesの中にエクセルファイル(エクセル1.xlsx)があります。 そのエクセルをプログラム内でコピーして、一部のセルの値を書き換えて出力しています。 Dim strFileName As String = "c:\出力するエクセル.xlsx" My.Computer.FileSystem.WriteAllBytes(strFileName, My.Resources.エクセル1, False) 同じことをしたいのですが、Resourcesのエクセルの扱い方がわかりません。 まず、あらかじめ用意した『エクセル1.xlsx』をResourcesの中に置く方法がわかりません。 エクスプローラを開き 場所、プロジェクト名のフォルダResourcesフォルダとたどり、Resourcesフォルダの中に『エクセル1.xlsx』を置きました。 置いただけではVBのエディタ(ソリューションエクスプローラ)からは見えません。 ソリューションエクスプローラのResourcesで右クリックし、追加、既存の項目、で、今置いた場所(Resourcesフォルダの中の『エクセル1.xlsx』)を選ぶと ソリューションエクスプローラのResourcesの下に姿を現しました。 ここまでのやり方があってるのか分かりません。 次に コードを書くところ(ボタン押下とか)で Dim strFileName As String = "c:\出力するエクセル.xlsx" My.Computer.FileSystem.WriteAllBytes(strFileName, My.Resources.エクセル1, False) を書くと My.Resources.エクセル1 の部分がエラーになります。 サンプルに貰ったvbでは、 『My.Resources.』まで手で打つと候補に『エクセル1』などが挙がってきますが 一から作った分は候補が出てきませんし、エラーになります。 どこかで、 (略)\Resources\エクセル1.xlsx と My.Resources.エクセル1 の紐づけが必要なのだと思いますが、どこで何をすればいいのか分かりません。

  • VB.NETのリソース内のEXCELを開く方法

    環境  WindowsXpPro VB2008EE Excel2007 VB.NETのリソースに登録したExcelファイルをプログラム中から開く(呼び出す)コードを探しているのですが、なかなか見当たりません。 MSDNも探しましたが、探し方が悪いのか見つかりません。 My.Resources.ResourceManager.GetObjectなどを使うのでしょうか? いずれにせようまくいきません。 御存じのかたがいらっしゃいましたらぜひ教えてください。 よろしくお願いいたします。

  • VBからExcelに書き込む方法

    こんにちは。VB6.0(SP5),Excel2000,Win2000でVBの勉強をしています。 VBでコマンドボタンを押した時に、テキストボックスのデータを、Excelに書き込みたいと思っています。 特定のExcelに書き込むことは「GetObject」で出来たのですが、名前がわからない場合はどうしたらよいのでしょうか? ※ExcelはVBから起動したものではなく、人が任意のファイルを起動しています。Excelの名前はわかっていません(任意なので、何かわかりません) このような場合に、VBから書き込むのは可能なのでしょうか? よろしくお願いします。

  • VB開発のMicrosoft Excel 9.0 Object Libraryでエクセル2007で動きますか?

    VB2008使用、エクセル2000インストールされている環境で開発しています。 参照の追加でMicrosoft Excel 9.0 Object Libraryを選択するのですが、プログラムインストール先がエクセル2007使用しているので、エクセル2007で正常に動くか心配です。 事前バインディングの方が開発が楽なので事前バインディングを使用したいと思っています。 Microsoft Excel 9.0 Object Libraryでもエクセル2007で正常に動作しますでしょうか? それともMicrosoft Excel 12.0 Object Libraryを使用しないとダメでしょうか? よろしくお願いいたします<(_ _)>

専門家に質問してみよう