• 締切済み

VB.NET操作で Excelにビットマップ貼り付け

下記の環境で開発しています。 VB.NET 2005/XP(sp2)/Excel2003(sp2) ビットマップをExcel2003に貼り付けたいのですが、どなたか手法ご存知ないでしょうか? 画像ファイル(Bitmap)→画面に表示→Excelに画像ファイル(Bitmap)を出力といったイメージなのですが… ※Excelを起動して、名前を付けて保存は今のところ上手くいってるようです。

みんなの回答

回答No.1

保存されているビットマップ ファイルをそのまま Excel に出力するだけなら、Excel のマクロの記録をして、 [挿入したい場所のセルを選択] -> [挿入]-[図]-[ファイルから] で任意の画像ファイルを選択。 の動作を記録してみてください。 Excel にこれらの動作が VBA コードとして記録されておりますので、これを VB 2005 のコードに置き換えてください。

関連するQ&A

  • VB.NETによるEXCELの行挿入

    VB.NET 2005/XP(sp2)/Excel2003(sp2) 上記の環境で開発しておる者です。 VB.NETでExcelを操作するプログラムを作ろうといています。 内容は雛形Sheetの行(複数行)をコピーして、新しく作成したSheetに貼り付ける処理をしたいのですが、手法がわかりません…。 Excel起動・新しいSheetの作成・Excelの保存はなんとかできましたが、行コピーとコピーした行の挿入部分のサンプルが御座いましたら、どなたか、教えて頂けないでしょうか? よろしくお願い致します。

  • VB2005でのエクセルへのデータ出力

    タイトルどおりなのですが、DBからマスタのデータを単純にエクセルに出力するだけなのですが、どういったやり方が一番高速に処理できるのでしょうか? マスタのデータをデータテーブルに取得して、データテーブルをループさせながら、1レコードごとにエクセルに出力するようなやり方しか思いつかないのですが、もっと効率的で高速に処理できる方法があれば教えて下さい。 ちなみに、エクセルは新規ファイルではなく1行目にマスタのテーブルのカラム名を記述している既存ファイルのエクセルに出力していく形になります。 画面の動作としては、マスタメンテの画面にある「出力」ボタンをクリックすることで、ファイルダイアログを表示して保存先を決めたら、出力開始というイメージです。 できれば、サンプルコードなどあれば有難いです。 宜しく、お願いします。 開発環境: OS:WinXP SP2 DB:Oracle 10g(?)、すみません。バージョンまであってるかは不明です。 言語:VB2005Pro Excel:Excel2000

  • VB.NET/256色でのBMPファイル保存

    いつもお世話になっております。 VS2003/VB.NET/XP Pro SP3 画像処理にアプリケーションを開発していますが、画像処理に関しての知識が乏しくて困っています。 Image.SaveメソッドでBMPファイル保存しようと思っているのですが、フルカラー保存ではなく、256色保存の方法が分かりません。 色々と調べてみたのですが、簡単な方法が見つからず、自前で処理をするしか方法がないのでしょうか? 256色への減色保存を経験がある方からのご教授が頂けると助かります。 よろしくお願いいたします。

  • VB BitmapをExcelに貼り付け 大きさ

    お世話になります。 VB2005で、 Clipboard.SetImage(ビットマップが入った変数) .cells( i , j ).select() .Paste x = (ビットマップが入った変数).height i = i + int( x / 13.5 + 1 ) + 1 (13.5はExcelの一行のピクセル数) というコードで、ビットマップをExcelに張り付けたあと、そのビットマップの下端の次付近の適切な行(i行)に移動しようとしています。 しかし、 ・貼り付けられた画像は、ビットマップの大きさより小さくなっている。 ・仮にその高さのビットマップを手動で貼り付けても、その高さを13.5で割ると、貼りつけられたその高さより多い行数になってしまう。 という現象が起こり、不要な空行がたくさんできてしまいます。 適切な場所を決める、よい計算方法を、どなたかご存知でしたらご教示いただけますと幸いです。

  • VB.NETにおける二値化処理の高速化

    いつも参考にさせて頂いております。 現在、VB.NET(VS2003/.NET Framework1.1)を使用して画像の二値化処理のプログラムを作成しております。 処理する事は簡単で、ビットマップファイルのRED要素を取り出し、閾値内なら白に変換して二値化するプログラムです。 以下がそのプログラムです。 ----- '変換する前の画像をファイルから読み込む Dim img1 As System.Drawing.Bitmap = New System.Drawing.Bitmap(filepath) '変換後のビットマップ Dim img2 As System.Drawing.Bitmap = New System.Drawing.Bitmap(img1.Width, img2.Height) '二値化処理 Dim b As Byte For i = 0 To img1.Width - 1 For j = 0 To img1.Height - 1 b = img1.GetPixel(i, j).R If b >= 閾値下限 And b <= 閾値上限 Then img2.SetPixel(i, j, Color.White) Else img2.SetPixel(i, j, Color.Black) End If Next Next PictureBox1.Image = img ----- これで処理は出来るのですが、ファイルが大きい場合は、非常に時間が掛かってしまいます。処理速度はCPUの速度にもよると思うのですが、できるだけ高速化したのですが、何かよい知恵があればご教授頂けると助かります。よろしくお願いいたします。 XP Pro SP2/VS2003/VB.NET/.NET Framework1.1

  • 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」を参照しています

  • ビットマップ

    ビットマップで保存してある画像は、なんのためにあんなに容量デカイんですか?たしかに画質はいいと思いますが、JPEGやPNGと大して変わらないような・・・?従兄弟は「ビットマップなんか加工するときぐらいしか使わねぇよ」って言ってましたがどういうなんですか?ビットマップイメージの利点・欠点を教えてください。

  • 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がありましたら教えてください。

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

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

  • vb.netでEXCEL起動がうまくできないのですが原因は何が考えられ

    vb.netでEXCEL起動がうまくできないのですが原因は何が考えられるでしょうか? VB.NETでEXCELのファイルを作成し、その後、 System.Diagnostics.Process.Start("C:\Test.xls") でファイルを開こうとすると、Excelのタイトルバー、メニューバー、ステータスバーのみ表示 された状態で、内容が表示されません。(Windowsの背景が表示された状態) この状態でもファイルは正しく保存されています。 以前は開けていたようなのですが、最近は100%開けないようです。 これはメモリ不足が原因なのでしょうか? メモリは確か1G程度しかなかったと思います。 お願いいたします。 OS:WindowsXP SP3 VB:VB.Net2008 Excel:Excel2000

専門家に質問してみよう