VB2010 エクセル
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2016/2/17 15:51:47
> Dragdo_DragDropでエクセルシートを読み込んだ際に
> Handles Dragdo.TextChanged
ドラッグアンドドロップ処理で画像を消したいわけではなく、
TextChanged イベントのたびに処理したいのでしょうか。
> 'Excelアプリケーションオブジェクトを生成 'Excelアプリケーションオブジェクトを生成
xlApp と bookHoge の間に関連性が無いように見えます。
xlApp の Excel は、何の目的で CreateObject されたのでしょうか。
> エクセルに貼っている画像(.gif)を消去したいのですが
複数貼ってある場合などの考慮は必要ですが、処理イメージとしては
という感じでしょうか。
> Handles Dragdo.TextChanged
ドラッグアンドドロップ処理で画像を消したいわけではなく、
TextChanged イベントのたびに処理したいのでしょうか。
> 'Excelアプリケーションオブジェクトを生成 'Excelアプリケーションオブジェクトを生成
xlApp と bookHoge の間に関連性が無いように見えます。
xlApp の Excel は、何の目的で CreateObject されたのでしょうか。
> エクセルに貼っている画像(.gif)を消去したいのですが
複数貼ってある場合などの考慮は必要ですが、処理イメージとしては
oShapes = oSheet.Shapes
oShape = oShapes(1) '消したい画像の1番目が場合
oShape.Delete()
Marshal.ReleaseComObject(oShape)
Marshal.ReleaseComObject(oShapes)
という感じでしょうか。
投稿者 初心者  (社会人)
投稿日時
2016/2/17 17:35:04
早々の回答ありがとうございます。
現在、下記のように画像を貼り付けています。
出来上がったエクセルファイルをまた読み込ませ登録すると
画像が重なる為っです。
画像は2箇所ある場合もあります。
その為に、画像を消したいのです。
Dim oShapes As Excel.Shapes
Dim oShape As Excel.Shape
oShapes = shtHoge.Shapes
oShape = oShapes.AddPicture(getnameink(), False, True, getsyainyokoc(), _
getsyaintatec(), getsyainsaizuyokoc(), getsyainsaizutatec()) '個人名の印鑑の位置
現在、下記のように画像を貼り付けています。
出来上がったエクセルファイルをまた読み込ませ登録すると
画像が重なる為っです。
画像は2箇所ある場合もあります。
その為に、画像を消したいのです。
Dim oShapes As Excel.Shapes
Dim oShape As Excel.Shape
oShapes = shtHoge.Shapes
oShape = oShapes.AddPicture(getnameink(), False, True, getsyainyokoc(), _
getsyaintatec(), getsyainsaizuyokoc(), getsyainsaizutatec()) '個人名の印鑑の位置
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2016/2/17 18:04:27
最初の貼り付けの際に、Shape に Name をセットしておきましょう。
そうすればそれを識別子として、次回削除する際の手がかりにできます。
そうした目印が無い場合、貼り付けてある画像を列挙した上で、
どれが削除対象なのか見分ける必要がありますが、
削除対象かどうかを確認するための情報は、何かあるのでしょうか?
そうすればそれを識別子として、次回削除する際の手がかりにできます。
そうした目印が無い場合、貼り付けてある画像を列挙した上で、
どれが削除対象なのか見分ける必要がありますが、
削除対象かどうかを確認するための情報は、何かあるのでしょうか?
Dragdo_DragDropでエクセルシートを読み込んだ際に
エクセルに貼っている画像(.gif)を消去したいのですが
どのようにしたらよいのでしょうか?
現在の読み込みです
Private Sub DragDrop_TextChanged(sender As System.Object, e As System.EventArgs) Handles Dragdo.TextChanged
'Excelアプリケーションオブジェクトを生成 'Excelアプリケーションオブジェクトを生成
xlApp = CreateObject("Excel.Application")
'ワークシートの操作
shtHoge = bookHoge.worksheets("Sheet1")
'見積番号
MitumoribangouBox.Text = shtHoge.range("AC3").value
MitumoriLB.Text = shtHoge.range("AC3").value
上記の感じで続きますが。。