• 締切済み

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

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

  • q_ta
  • お礼率64% (65/101)

みんなの回答

  • tom11
  • ベストアンサー率53% (134/251)
回答No.1

こんにちは、 今ひとつ、言っている意味が解りませんが。 以下のような、利用法を求めているのですか。 エクセルのバージョンと、vbのバージョンは、違いますが。 http://www.geocities.jp/tomtomf/vb2005-1/vb2005-1.htm

q_ta
質問者

補足

ご回答ありがとうございます。 質問文がわかりにくくて申し訳ありません。 いただいたリンクを拝見しました。 どちらかというと「参照」についての記述のようですね。 Dim fn As String = "excel_test.xls" 上記"excel_test.xls"は実際は"C:\...\excel_test.xls"フルパスで記述し、実際のファイルを指定するはずだと思います。 これをページ中ほどにある アプリケーション コンパイル デバッグ 参照 リソース 設定  : のタブにある「リソース」にExcelファイルを入れた場合、これを開くコードについて質問させていただきました。 http://bbs.wankuma.com/index.cgi?mode=al2&mo=29193&namber=29193&space=0&page=0 こちらのリンクに画像をリソースファイルに入れた場合の参照方法がありますが、これを画像ではなくExcelにした場合のことになります。

関連するQ&A

  • リソースファイルの選択

    VB2010で、以下のような書き方でリソースファイルの選択を行っているのですが、 リソースファイルを増やすたびにコードを書き足さなければならず非効率的です。 リソースが10個・20個と増えてくるとその分だけコードが長くなります。 ほかに方法はあるのでしょうか? なお、今はVB2010が入っていないパソコンから投稿しているので コードを思い出しながら書いています。 たぶん大丈夫だと思いますが、もしかしたらエラーが発生するかもしれません。 Private ResourceID As Integer (中略) Dim bmp As Bitmap Select Case ResourceID Case 1 : bmp = My.Resources.picture1 Case 2 : bmp = My.Resources.picture2 Case 3 : bmp = My.Resources.picture3 End Select Select Case ResourceID Case 1 : TextBox1.Text = My.Resources.text1 Case 2 : TextBox1.Text = My.Resources.text2 Case 3 : TextBox1.Text = My.Resources.text3 End Select

  • 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からExcelに書き込む方法

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

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

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

  • VBからEXCELを起動する

    VBよりExcelを起動するプログラムで困っています。 1.VBよりGetObject関数でTest.xlsを開く 2.Test.xls内のAuto_Openマクロでパラメータファイルをよみ、そこに指定されているエクセルファイルを新しいブックでを開く ということをしたいのですが(「マクロを有効にする」のダイアログは表示されてもかまわないです)、何故かTest.xlsが開いたと思ったらすぐ閉じてしまいます(Excel自体は終了してないですべてのワークシートが閉じた状態)。 Auto_Openマクロは走ってるようなのですが、ついでにCloseマクロも走ってしまいます。 ちなみにTest.xlsを単体で動かしたときは問題なく動くのです・・・。 以前はVB4+Excel95の環境でAPI(CreateProcess)を使用し同作業を行っていたのですが、そのAPIが長いファイル名のスペース(OFFICEがある「Program File」のスペース)を認識しないそうで、この方法が使えないということでGetObjectを使用してみたのですが・・・。 何か根本的な間違いをしているのか、それともコードにエラーがあるのかさっぱりわからずお手上げです。 うまく疑問点を説明できているか不安なんですが、わかる方、どうかご指導願います。 よろしくお願いします。 ---------------------------------------- OSは、Windows 2000 アプリケーションは、Excel 2000 です ----------------------------------------

  • VB2008での配列の初期化方法

    VB2008での配列の初期化方法 様々なサイトなどを見て、配列を宣言する時に初期化する方法を知ってこんな風なコードを書いて、配列の初期化を試みました。 書いたコード Option Strict On Public Class Form1() Private AImage As Image = (My.Resources.AImage1 As Image, My.Resources.AImage2 As Image,My.Resources.AImage3 As Image,My.Resources.AImage4 As Image, My.Resources.AImage5 As Image,My.Resources.AImage6 As Image, My.Resources.AImage7 As Image) 後略 もちろんAImage1~7はリソースで読み込んでありますし、End Classもずっと下の方に書いてあります。 ここで、「・・・(My.Resources.AImage1 As Image,・・・」のAsの部分にだけ波線が引かれて、「')' が必要です。」というエラーが出ました。 最後を「)」で終わっているのに、なぜこのエラーが出るのでしょうか。使用言語はVitualBasic2008です。文法等も含めて、改善点を教えていただければ幸いです。

  • リソースの値を変数で取得

    VB.NET2010を使用しています。 リソースを「my.resources.リソース名」と、じかに指定すれば値を取得できるのですが、 リソース名の部分を変数にして値を取得したい場合はどうすればいいのでしょうか?

  • VB2005 継承元のResourcesが継承先で読み込めない

    開発環境 VB2005 フォームの継承を行っていて、 継承元の方のフォームにボタンがあり、 My.Resourcesにてリソースファイルから取り出した文字列を メッセージボックスで表示します。 継承先の方のフォームにて継承したボタンを押した時に、 My.Resourcesにて文字列を取り出そうとしたところ、 My.Resources自体が認識せず、エラーになってしまいます。 継承元のリソースファイルから、 継承先では取得できないのでしょうか? よろしくお願い致します。

  • VBからExcelのアクティブセルの位置を知る方法

    VB6でExcel2000のワークシートを操作するプログラムを作成しています。次のようなことをやりたいと思ってます。 (1)Excelのワークシートを開く (2)ワークシートの1点をクリックして、アクティブセルとする。(例えばA1) (3)VBのプログラムのボタンを押すと、アクティブセルを基点に3×3を選択範囲とする。 そこで次のようなプログラムを書いてみました。 Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet Set xlApp = GetObject(, "Excel.Application") If Err.Number Then MsgBox "Excel が起動されていません。" Err.Clear Else ' MsgBox "Excel はすでに起動中です。" Set xlBook = xlApp.Workbooks.Item(1) Set xlSheet = xlBook.Worksheets.Item(1)     'アクティブセルを取得する     'アクティブセルを3x3に拡張する計算 xlSheet.Range("3x3に拡張した範囲").Select Set xlSheet = Nothing Set xlBook = Nothing Set xlApp = Nothing End If しかし、アクティブセルを取得する方法がわかりません。誰か教えてください。

  • C# オリジナルのマウスポインタ

    http://social.msdn.microsoft.com/Forums/vstudio/ja-JP/b9cba313-4434-4153-a6ba-63d3b498914f?forum=csharpgeneralja を参考に、 開発中のツールに using System.Reflection; using System.Resources; と private void Form1_Load(object sender, EventArgs e) { Assembly asm = Assembly.GetExecutingAssembly(); //ResourceManagerオブジェクトの作成(リソースResource1を追加してある) ResourceManager rm = new ResourceManager( asm.GetName().Name + "a", asm); // リソースよりIcon1.icoを取得する Icon icon1 = (Icon)rm.GetObject("Icon1"); Cursor cur = new Cursor(icon1.Handle); this.Cursor = cur; } を追加しました。 リソースにはjpegで書いた画像aを追加しました。 すると、 Icon icon1 = (Icon)rm.GetObject("Icon1"); の "Icon1"の部分で、 指定されたカルチャまたはニュートラル カルチャに対して適切なリソースが見つかりませんでした。 "スーパーカーリングおひとりさまデッキブラシ.resources" が適切に埋め込まれたか、実行時にアセンブリ "スーパーカーリングおひとりさま" にリンクされたか、または必要なサテライト アセンブリが読み込まれて完全に署名されていることを確認してください。 というエラーメッセージが出ます。 そもそも、参考URLのページの質問者が、リソースにどのように画像を登録していたのかが不明です。 詳しくわかる方よろしくおねがいします。

専門家に質問してみよう