[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2006/03/24(Fri) 09:50
投稿者名:YO-YO
Eメール:
URL :
タイトル:
Excelの画像サイズの変更
VB6.0 Excel2000 Win2000
 
初めて投稿いたします。
今、VBで画像を貼り付けているのですがその画像のサイズが大きい為に印刷した時に
2枚、3枚で印刷されてしまします。
これを回避するために画像のサイズを変更しようと思い、ここへたどりつきました。

サンプルを見たいのですが自分のPGで実行すると
オブジェクトは、このプロパティまたはメソッドをサポートしていません。
とエラーになるので質問させていただきます。

’シート名の変更
objNewWkSheet.Name = TMPFILE1

’現在のシートを選択
objNewWkSheet.Select

’現在のシートをsheet4の後ろへ挿入
objNewWkSheet.Move After:=objWkBk.Worksheets("sheet4")

上記まではエラーもなくできています。
しかし下記を実行するとエラーになります。
きちんとオブジェクトを指定しているとおもうのですが何処らへんでエラーになるのでしょうか?
(下記はマクロを参考にして作成しました。)

objNewWkSheet.Selection.ShapeRange.ScaleWidth 0.79, 0, 0
objNewWkSheet.Selection.ShapeRange.ScaleHeight 0.79, 0, 0

投稿時間:2006/03/24(Fri) 10:40
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: Excelの画像サイズの変更
> オブジェクトは、このプロパティまたはメソッドをサポートしていません。

> きちんとオブジェクトを指定しているとおもうのですが何処らへんでエラーになるのでしょうか?
> objNewWkSheet.Selection.ShapeRange.ScaleWidth 0.79, 0, 0
objNewWkSheet オブジェクトには、Selection プロパティがないからです。
詳しくは、Selection についてイルカに聞いて下さい。そこで[対象]を見ると
どのオブジェクトで使用できるか解りますよ。

ここの Excel & Word 関係の[Excelのシートに画像を表示(3方法)及びサイズ変更]は
参考にならなかったのでしょうか?

投稿時間:2006/03/24(Fri) 10:47
投稿者名:YO-YO
Eメール:
URL :
タイトル:
Re^2: Excelの画像サイズの変更
> > オブジェクトは、このプロパティまたはメソッドをサポートしていません。
>
> > きちんとオブジェクトを指定しているとおもうのですが何処らへんでエラーになるのでしょ
うか?
> > objNewWkSheet.Selection.ShapeRange.ScaleWidth 0.79, 0, 0
> objNewWkSheet オブジェクトには、Selection プロパティがないからです。
> 詳しくは、Selection についてイルカに聞いて下さい。そこで[対象]を見ると
> どのオブジェクトで使用できるか解りますよ。

イルカはVBのヘルプですか?
Excelで聞いたのですがわかりませんでした。


> ここの Excel & Word 関係の[Excelのシートに画像を表示(3方法)及びサイズ変更]は
> 参考にならなかったのでしょうか?

Dim xlApp  As Excel.Application
でエラーになってしまったので諦めました。

objNewWkSheet.Shapes.Select
objNewWkSheet.Shapes.ScaleWidth 0.75, 0, 0
objNewWkSheet.Shapes.ScaleHeight 0.75, 0, 0

でも無理でした。

投稿時間:2006/03/24(Fri) 11:28
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^3: Excelの画像サイズの変更
> イルカはVBのヘルプですか?
> Excelで聞いたのですがわかりませんでした。
VBA の話をしているのだから当然VBAのヘルプになります。

> > ここの Excel & Word 関係の[Excelのシートに画像を表示(3方法)及びサイズ変更]は
> > 参考にならなかったのでしょうか?
>
> Dim xlApp  As Excel.Application
> でエラーになってしまったので諦めました。
参照設定はしていますか?
VBからExcelを扱うのが初めてなら、ここのExcel関係を最初から見ておいた方がいいかも。

    objNewWkSheet.Shapes("Picture 1").Select
    objNewWkSheet.Shapes("Picture 1").ScaleWidth 0.79, 0, 0
    objNewWkSheet.Shapes("Picture 1").ScaleHeight 0.79, 0, 0

投稿時間:2006/03/24(Fri) 11:47
投稿者名:YO-YO
Eメール:
URL :
タイトル:
Re^4: Excelの画像サイズの変更
参照を開きExcelにチェックを入れる事によってサンプルを実行することができました。

やっていることは同じように思えるのですがどうしてもエラーになってしまいます・・・。
画像の貼り付けまではでき、シート名、シートの移動もできているのですが
どうしてもサイズを変更するところでエラーになってしまいます。

objNewWkSheet.Select
objNewWkSheet.Move After:=objWkBk.Worksheets(l_SheetName)
    
objNewWkSheet.Shapes.Select
objNewWkSheet.Shapes.ScaleWidth 0.75, 0, 0
objNewWkSheet.Shapes.ScaleHeight 0.75, 0, 0


この「Shapes」というものの使用方法がおかしいのでしょうか?
VBで行っているのでVBとして使用できる方法が知りたいです。

投稿時間:2006/03/24(Fri) 12:11
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^5: Excelの画像サイズの変更
> この「Shapes」というものの使用方法がおかしいのでしょうか?
> VBで行っているのでVBとして使用できる方法が知りたいです。

どうして、回答した通りの事を試そうとしないのですか?
自分勝手な方法では当然できないでしょう。

先に投稿した下記コードではだめだったのですか?

  objNewWkSheet.Shapes("Picture 1").Select
    objNewWkSheet.Shapes("Picture 1").ScaleWidth 0.79, 0, 0
    objNewWkSheet.Shapes("Picture 1").ScaleHeight 0.79, 0, 0


因みに、マクロの記録を見ると
    ActiveSheet.Shapes("Picture 1").Select
    Selection.ShapeRange.ScaleWidth 0.79, msoFalse, msoScaleFromTopLeft
    Selection.ShapeRange.ScaleHeight 0.79, msoFalse, msoScaleFromTopLeft
    
上記のようになっているかと。

それをVB用に変更すると下記のようになるかと。
   xlSheet.Shapes("Picture 1").Select
   xlApp.Selection.ShapeRange.ScaleWidth 0.79, 0, 0
   xlApp.Selection.ShapeRange.ScaleHeight 0.79, 0, 0

投稿時間:2006/03/24(Fri) 13:10
投稿者名:YO-YO
Eメール:
URL :
タイトル:
Re^6: Excelの画像サイズの変更
> > この「Shapes」というものの使用方法がおかしいのでしょうか?
> > VBで行っているのでVBとして使用できる方法が知りたいです。
>
> どうして、回答した通りの事を試そうとしないのですか?
> 自分勝手な方法では当然できないでしょう。
>
> 先に投稿した下記コードではだめだったのですか?
>
>   objNewWkSheet.Shapes("Picture 1").Select
>     objNewWkSheet.Shapes("Picture 1").ScaleWidth 0.79, 0, 0
>     objNewWkSheet.Shapes("Picture 1").ScaleHeight 0.79, 0, 0


上記のコードでできました。
Picture 1という部分に貼り付けるファイル名を指定していました。
どんなファイルを指定するのもPicture 1でいいのですね。

ありがとうございました。