VB.net(2010)でエクセルファイル(2010)に写真を貼り付けるプログラムなのですが、今までPictures.Insertで貼り付けていたのですが、これだと写真はリンクされてしまい、写真自体を別の場所へ移動すると写真が表示されなくなることを知りました。
そこで調べてみると、AddPictureというメソッドを使えばいいということがわかったのですが、実際どのような構文で記述すればいいのかわかりません。
たとえば、A1のセルの左上に合わせて幅300、高さ200で写真を貼り付けたい場合どのような宣言と、構文で記述すればいいでしょうか?
現在以下の構文で「NullReferenceExceprionはハンドルされませんでした。」というエラーになります。
Dim ExFile As String = "C:\1.xlsx"
Dim Xls1 As New Excel.Application()
Dim xlBooks As Excel.Workbooks = Xls1.Workbooks
Dim xlBook As Excel.Workbook = xlBooks.Open(ExFile)
Dim xlSheets As Excel.Sheets = xlBook.Worksheets
Dim xlSheet As Excel.Worksheet = xlSheets.Item(1)
Dim xlCells As Excel.Range = xlSheet.Cells
Dim xlRange As Excel.Range
Dim oShapes As Excel.Shapes
Dim oShape As Excel.Shape
xlRange = xlSheet.Range("A1")
oShape = oShapes.AddPicture("C:\1.JPG", False, True, 0, 0, 200, 300)
> Dim oShapes As Excel.Shapes
このあと
インスタンスを設定していないので
> oShape = oShapes.AddPicture("C:\1.JPG", False, True, 0, 0, 200, 300)
でoShapesがNothingとなりエラーとなります。
oShapes = xlSheet.Shapes
が必要です。
Shu様ありがとうございます。
無事できました。
ツイート | ![]() |