- .net
- ベテラン
- 会議室デビュー日: 2005/04/11
- 投稿数: 95
|
投稿日時: 2006-07-04 11:32
いつもお世話になっております。
現在、VB.NET2003にてWindowsアプリケーションの作成を行っております。
さっそくの質問なのですが、
既存のExcelファイルに、作成したアプリより、画像(jpg、bmp等)を
挿入することは可能なのでしょうか???
どうか知恵をお貸しくださいますよう、よろしくお願いいたします。
|
- じゃんぬねっと
- ぬし
- 会議室デビュー日: 2004/12/22
- 投稿数: 7811
- お住まい・勤務地: 愛知県名古屋市
|
投稿日時: 2006-07-04 11:50
引用: |
|
.netさんの書き込み (2006-07-04 11:32) より:
既存のExcelファイルに、作成したアプリより、画像(jpg、bmp等)を挿入することは可能なのでしょうか???
|
可能です。
ファイルから貼り付けるのか、イメージを渡して貼り付けたいのか、
VSTO を使われるのか、PIA を使われるのか、貼り付けられた画像の扱いはオブジェクトで良いのか、
などなど詳細が書かれていないので、望む回答にはならないかもしれませんが、
たとえば、ファイルから指定の画像を貼り付ける場合は、
IPictrues インターフェイスの Insert メソッドから可能です。
_________________ C# と VB.NET の入門サイト
じゃんぬねっと日誌
|
- .net
- ベテラン
- 会議室デビュー日: 2005/04/11
- 投稿数: 95
|
投稿日時: 2006-07-04 12:08
>>じゃんぬねっと様
さっそくのご返答ありがとうございます。
いつも参考にさせていただいています。
情報が不足していて申し訳ございません。。。
ご指摘の通り、ファイルよりExcelへの画像の挿入です。
>>たとえば、ファイルから指定の画像を貼り付ける場合は、
IPictrues インターフェイスの Insert メソッドから可能です。
について、もう少しご教授願えませんでしょうか???
「IPictrues」を検索しても、情報がまったくといっていいほどありませんでした・・・。
ご迷惑をおかけします。
|
- じゃんぬねっと
- ぬし
- 会議室デビュー日: 2004/12/22
- 投稿数: 7811
- お住まい・勤務地: 愛知県名古屋市
|
投稿日時: 2006-07-04 12:20
引用: |
|
.netさんの書き込み (2006-07-04 12:08) より:
ご指摘の通り、ファイルよりExcelへの画像の挿入です。
|
VSTO ではなく、いつものように COM Interop で宜しいでしょうか?
(Microsoft Excel xx.x Object Library)
引用: |
|
について、もう少しご教授願えませんでしょうか???
「IPictrues」を検索しても、情報がまったくといっていいほどありませんでした・・・。
|
Excel.Pictures と Excel.Picture というインターフェイスが存在します。
これらは非表示メンバなので、インテリセンスからでは確認できないんです。
オブジェクト ブラウザで [非表示メンバを表示] を選択すると、見つけることができます。
_________________ C# と VB.NET の入門サイト
じゃんぬねっと日誌
|
- .net
- ベテラン
- 会議室デビュー日: 2005/04/11
- 投稿数: 95
|
投稿日時: 2006-07-04 18:11
>>じゃんぬねっと様
ご返答ありがとうございます。
>>オブジェクト ブラウザで [非表示メンバを表示] を選択すると、見つけることができます。
無事見つけることが出来ました。
やりたかった処理も無事に出来ました。ありがとうございました。
また、機会がありましたら、よろしくお願いいたします。
こちらのページも参照に使用しましたので念のため、記述しておきます。
http://f57.aaa.livedoor.jp/~jeanne/bbs/faq.cgi?mode=al2&namber=2844&KLOG=17
|
- じゃんぬねっと
- ぬし
- 会議室デビュー日: 2004/12/22
- 投稿数: 7811
- お住まい・勤務地: 愛知県名古屋市
|
投稿日時: 2006-07-04 18:20
引用: |
|
.netさんの書き込み (2006-07-04 18:11) より:
無事見つけることが出来ました。
やりたかった処理も無事に出来ました。ありがとうございました。
また、機会がありましたら、よろしくお願いいたします。
|
解決されて良かったです。
私もソースを書いておりましたので、フィードバックしておきます。
(よろしければ、見比べてみてください)
コード: |
|
Private Shared Sub MosaMosaAA()
Dim xlApplication As Excel.Application
Try
xlApplication = New Excel.Application()
xlApplication.Visible = True
Dim xlWorkbooks As Excel.Workbooks
Try
xlWorkbooks = xlApplication.Workbooks
Dim xlWorkbook As Excel.Workbook
Try
xlWorkbook = xlWorkbooks.Open("E:\Maki.xls")
Dim xlSheets As Excel.Sheets
Try
xlSheets = xlWorkbook.Worksheets
Dim xlWorksheet As Excel.Worksheet
Try
xlWorksheet = DirectCast(xlSheets(1), Excel.Worksheet)
Dim xlPictures As Excel.Pictures
Try
xlPictures = DirectCast(xlWorksheet.Pictures, Excel.Pictures)
Dim xlPicture As Excel.Picture
Try
xlPicture = DirectCast(xlPictures.Insert("E:\Uehara.bmp"), Excel.Picture)
xlPicture.Left = 100
xlPicture.Top = 100
xlWorkbook.Save()
Finally
If Not xlPicture Is Nothing Then
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlPicture)
End If
End Try
Finally
If Not xlPictures Is Nothing Then
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlPictures)
End If
End Try
Finally
If Not xlWorksheet Is Nothing Then
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWorksheet)
End If
End Try
Finally
If Not xlSheets Is Nothing Then
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlSheets)
End If
End Try
Finally
If Not xlWorkbook Is Nothing Then
Try
xlWorkbook.Close()
Finally
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWorkbook)
End Try
End If
End Try
Finally
If Not xlWorkbooks Is Nothing Then
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWorkbooks)
End If
End Try
Finally
If Not xlApplication Is Nothing Then
Try
xlApplication.Quit()
Finally
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApplication)
End Try
End If
End Try
End Sub
|
いつか誰かのために参考になれば幸いです。
_________________ C# と VB.NET の入門サイト
じゃんぬねっと日誌
|