vb2022 Resourcesの中のエクセルの扱い方

このQ&Aのポイント
  • vb2022 Resourcesの中にエクセルファイルを置く方法がわかりません。
  • Resourcesフォルダにエクセル1.xlsxを置くための手順が分かりません。
  • My.Resources.エクセル1の部分がエラーになります。
回答を見る
  • ベストアンサー

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 の紐づけが必要なのだと思いますが、どこで何をすればいいのか分かりません。

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

  • ベストアンサー
  • MT765
  • ベストアンサー率56% (1898/3332)
回答No.2

私も詳しくないのであくまで推測となります。 【My.Resources オブジェクト】 https://learn.microsoft.com/ja-jp/dotnet/visual-basic/language-reference/objects/my-resources-object 上記サイトによると 『リソースを追加または削除するには、プロジェクト デザイナーを使用します。』 とあります。 【.NET プロジェクト デザイナーとは】 https://learn.microsoft.com/ja-jp/visualstudio/ide/reference/project-properties-reference?view=vs-2022 この手順で「リソースの追加」でExcelファイル(Book1)を追加したら添付画像のような状態になります。 ソリューションエクスプローラーでファイルを追加した場合はここには現れません。 おそらくこの手順かなと思いますが違っていたらごめんなさい。

webuser
質問者

お礼

ありがとうございます。 コレのようです。 行けました。

その他の回答 (1)

  • dell_OK
  • ベストアンサー率13% (740/5645)
回答No.1

リソースはプロジェクトのプロパティ画面から追加してみてください。 まず、ソリューションエクスプローラーから「エクセル1.xlsx」は削除してください。 「エクセル1.xlsx」が他の場所にもあればそのまま削除でいいですが、 なければ他の場所にコピーしておいてください。 プロジェクトのプロパティ画面を表示して、 リソースの追加ボタンの▼を押して、 既存のファイルの追加、他の場所にある「エクセル1.xlsx」を選択します。 画面に「エクセル1」アイコンが表示され、 ソリューションエクスプローラーのResourcesにも追加されます。 これでインテリセンスが働いて、 My.Resources. まで入力すれば「エクセル1」が表示されるようになります。

webuser
質問者

お礼

ありがとうございます。 Resourcesには同時にコピーされるのですね。 でも、それだけではMy.Resourcesには反映されませんでした。

関連するQ&A

  • VBからExcelのテキストを指定して開きたい

     VBのアプリケーションから文書名を指定してエクセルを起動したいのですが 出来なくて困っています。ちなみにコードは下記のとおりです。どこに問題があ るのか教えていただけないでしょうか。 Private Sub Command1_Click() Dim lngReturnCode As Long Dim strFileName As String strFileName = "AllTitles.csv"   lngReturnCode = ShellExecute(Me.hwnd, _ "open c:\***\***.xls", _ strFileName, _ vbNullString, _ App.Path, _ SW_SHOWNORMAL) End Sub

  • VB2008 エクセル出力

    VB2008 エクセル出力 教えていただけると助かります VB6.0使用時にエクセル出力をするために下記のようなプログラムで出力していました ※「Microsoft Excel 9.0 Object Library」を参照 Dim xlApp As EXCEL.Application Dim xlBook As EXCEL.Workbook Dim xlsheet As EXCEL.Worksheet Dim File As String File = App.Path + "\EXCEL\" + "フォーム.xls" Set xlApp = CreateObject("Excel.Application") Set xlBook = xlApp.Workbooks.Open(File) Set xlsheet = xlBook.Worksheets("テスト") xlsheet.Range("A1") = "テスト" 'フォルダ作成 If Dir("D:\", vbDirectory) = "" Then Call Mkdirs("D:\テスト") 'Worksheetを名前をつけて保存します。 xlApp.DisplayAlerts = False xlsheet.SaveAs "D:\テスト\テスト.xls" xlApp.Quit Set xlApp = Nothing Set xlBook = Nothing Set xlsheet = Nothing VB2008の場合だとどのように書けば同じように動きますか ※色々試してみましたがダメでした 「Microsoft Excel 12.0 Object Library」を参照しています

  • VBのエクセル操作について

    VB6.0で下記のようなロジックでエクセル操作をしていますが、 エクセル出力時に全て文字列扱いされるため計算処理でエラーとなって困っています。 数字は数値型で出力したいのですが、良い方法はありますでしょうか。 dim csvline() as string . . . csvline = Split("AAA,BBB,0,1,3,4", ",") . . . XlsSheet.Range(Cells(0, 1),Cells(0, 6) = csvline

  • VB2005でエクセルの機能を使うには

    VB2005でエクセルに数値を貼り付けた後自動的に エクセルの機能を使ってA列で並び替えをしたいのですが可能でしょうか。 今のソース s1()の配列に数値がはいっている。 exp s1(1)="1.0,2.0,3.0,4.0......" Dim xlApp As New Excel.Application Dim xlBooks As Excel.Workbooks = xlApp.Workbooks Dim xlFilePath As String = Application.StartupPath & "\aaa.xls" Dim xlBook As Excel.Workbook = xlBooks.Open(xlFilePath) Dim xlSheets As Excel.Sheets = xlBook.Worksheets Dim xlSheet As Excel.Worksheet = xlSheets.Item(1) ':::::::::::::::::::::::::::::::::::::::::::::::sheet1 '-----貼り付け開始 Dim xlRange As Excel.Range Dim xlCells As Excel.Range Dim xlRange1 As Excel.Range xlCells = xlSheet.Cells Dim j Dim Col As String For i = 1 To irec - 1 temp = Split(s1(i), ",") For j = 0 To 12 xlRange1 = xlCells(3 + i, 1 + j) Col = xlRange1.Address(False, False) xlRange = xlSheet.Range(Col) xlRange.Value = temp(j) Next j Next i ここで並び替えしたいのですが。

  • VBのKillについて

    皆様いつもお世話になっております。 質問なのですが VBの構文の一部で Dim strFilename as string strFilename = "C:\Temp\*.*" Kill strFilename とすると、指定したフォルダの中身が削除されるのですが、このフォルダ内に以下のpdfファイルを入れると、エラーが発生してしまいます。 テキストファイルで約同容量のファイルの削除も試み成功しました。 また、10KB程度のpdfファイルも削除できます。 何が原因かお分かりの方おりませんでしょうか? 【詳細】 ファイル名:J00932_4.pdf ファイルサイズ:8,531KB エラーメッセージ:パス名が無効です。 どうぞよろしくお願いします。

  • vb2012 参照設定しているものを見るには?

    vb2010の時は、ソリューションエクスプローラーで参照設定フォルダがあり、 そこを開くと参照設定されている一覧が見れたのですが、 vb2012では参照設定フォルダが見当たりません。 見れないのでしょうか?

  • excelのデータをvbにとりこむ

    excelのあるセルのデータを取り込みたいのですが、 どうすればよいでしょうか? C:\123.xlsというファイルのsheet1の (2,4)というセルにある実数型のデータを 出力するという、意図です。 Private Sub Setting_Click() Dim xls As Object Dim xlsFilename As String Dim xlsSheetname As String xlsFilename = "C:\123.xls" xlsSheetname = "Sheet1" Set xls = CreateObject("Excel.Application") xls.Application.Visible = False xls.Application.Workbooks.Open xlsFilename Dim r1 As Double r1 = xls.Application.Workbooks.cells(2, 4).Value Print r1 end sub

  • VB2008でEXCELのセルデータが読めません

    VB2008でEXCELを開き、セルの内容を読み込もうとしましたが読み込めません。 EXCELのオープンとセルの読み込みは下記により行いました。 Dim strExcelFile As String 'エクセルファイル Dim xlApp As Excel.Application       Dim strExcelData As String xlApp = CreateObject("Excel.Application") xlApp.Workbooks.Open(Filename:=strExcelFile) xlApp.Visible = True 'EXCELは表示されている strExcelData = xlApp.Cells(3,4).ToString EXCELの3列4行には数値が入っていますが、strExcelDataには"System._ ComObject"というデータが読み込まれています。 ToStringは、これをつけないとデータの型が違うとエラーになります。 EXCELのデータは文字型と思っていましたがこれも判りません。 VBのMicrosoft Excel9.0Object LibraryをクリックしてOKしています。 原因の見当が皆目つかず困っています。

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

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

  • VBからEXCELへ

    変数を使って範囲指定をしたいのですが・・・ VBからEXCELに出力する時なんですけど、 例えばコンボボックス1、コンボボックス2に デフォルトとして、数字が1,2,3・・・10と入っています。 コンボ1、2 数字が1だったら、EXCELのA1 数字が2だったら、EXCELのB1 数字が3っだたら、EXCELのC1 コンボ1が1、コンボ2が3の場合A1~C1までを線で囲みたいのです。 DIM AKEY AS STRING DIM BKEY AS STRING SELECT CASE COMB1 CASE 1 AKEY = "A1" CASE 2 AKEY = "B1" CASE 3 AKEY = "C1" END SELECT SELECT CASE COMB2 CASE 1 BKEY = "A1" CASE 2 BKEY = "B1" CASE 3 BKEY = "C1" END SELECT CELL("AKEY:BKEY").Box lsNormal, btBox と書いたら、座標エラーとでます。 どうかお願いします。

専門家に質問してみよう