Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5525 / 13645 ツリー ←次へ | 前へ→

【50261】円の中を透明にして印刷したいのですが かなり初心者 07/7/17(火) 13:08 質問[未読]
【50262】Re:円の中を透明にして印刷したいのですが Lindy 07/7/17(火) 13:27 発言[未読]
【50281】Re:円の中を透明にして印刷したいのですが かなり初心者 07/7/18(水) 10:46 お礼[未読]
【50303】Re:円の中を透明にして印刷したいのですが Lindy 07/7/19(木) 9:27 発言[未読]
【50263】Re:円の中を透明にして印刷したいのですが Jaka 07/7/17(火) 13:27 発言[未読]
【50282】Re:円の中を透明にして印刷したいのですが かなり初心者 07/7/18(水) 10:48 お礼[未読]

【50261】円の中を透明にして印刷したいのですが
質問  かなり初心者  - 07/7/17(火) 13:08 -

引用なし
パスワード
   オートシェイプで描画した円の中を透明にして印刷したいのですが、
透明になりません。どうしたら良いのか教えていただけないでしょうか。
ちなみに、以下の通りVBを組んでます。
If CheckBox1 = True Then
 ActiveSheet.Shapes.AddShape(msoShapeOval, 105#, 75.75, 32.25, 12#).Select
 Selection.ShapeRange.Fill.Visible = msoFalse
 Selection.ShapeRange.Fill.Solid
 Selection.ShapeRange.Fill.Transparency = 0#
 Selection.ShapeRange.Line.Weight = 0.75
 Selection.ShapeRange.Line.DashStyle = msoLineSolid
 Selection.ShapeRange.Line.Style = msoLineSingle
 Selection.ShapeRange.Line.Transparency = 0#
 Selection.ShapeRange.Line.Visible = msoTrue
 Selection.ShapeRange.Line.ForeColor.SchemeColor = 64
 Selection.ShapeRange.Line.BackColor.RGB = RGB(255, 255, 255)
End If
.printout
Selection.Delete

【50262】Re:円の中を透明にして印刷したいのですが
発言  Lindy  - 07/7/17(火) 13:27 -

引用なし
パスワード
   ▼かなり初心者 さん:
こんにちは。

もっと初心者ですが、ステップ実行してみると
どこで変になるかわかりますよ^^

Selection.ShapeRange.Fill.Solid

を消してみたらどうでしょうか

【50263】Re:円の中を透明にして印刷したいのですが
発言  Jaka  - 07/7/17(火) 13:27 -

引用なし
パスワード
   マクロ記録かどこだかわかんないけど、なんかバグっぽい?
提示されたコードをまんま使用。

>If CheckBox1 = True Then
> ActiveSheet.Shapes.AddShape(msoShapeOval, 105#, 75.75, 32.25, 12#).Select
> Selection.ShapeRange.Fill.Visible = msoFalse ←これを
> Selection.ShapeRange.Fill.Solid '←これより下の行に(どこでもいい)移動。
> Selection.ShapeRange.Fill.Transparency = 0#
> Selection.ShapeRange.Line.Weight = 0.75
> Selection.ShapeRange.Line.DashStyle = msoLineSolid
> Selection.ShapeRange.Line.Style = msoLineSingle
> Selection.ShapeRange.Line.Transparency = 0#
> Selection.ShapeRange.Line.Visible = msoTrue
> Selection.ShapeRange.Line.ForeColor.SchemeColor = 64
> Selection.ShapeRange.Line.BackColor.RGB = RGB(255, 255, 255)
>End If
>.printout
>Selection.Delete

【50281】Re:円の中を透明にして印刷したいのですが
お礼  かなり初心者  - 07/7/18(水) 10:46 -

引用なし
パスワード
   ▼Lindy さん:
消してみてうまく透明になりました。
なぜかは不明ですが
本当にありがとうございました。
>▼かなり初心者 さん:
>こんにちは。
>
>もっと初心者ですが、ステップ実行してみると
>どこで変になるかわかりますよ^^
>
>Selection.ShapeRange.Fill.Solid
>
>を消してみたらどうでしょうか

【50282】Re:円の中を透明にして印刷したいのですが
お礼  かなり初心者  - 07/7/18(水) 10:48 -

引用なし
パスワード
   ▼Jaka さん:
貴重なご意見ありがとうございました。
Lindyさんの方法でうまくいきました。
Jakaさんの方法も試してみたいと思います。
本当にありがとうございました。
多分、バグだと思います。

>マクロ記録かどこだかわかんないけど、なんかバグっぽい?
>提示されたコードをまんま使用。
>
>>If CheckBox1 = True Then
>> ActiveSheet.Shapes.AddShape(msoShapeOval, 105#, 75.75, 32.25, 12#).Select
>> Selection.ShapeRange.Fill.Visible = msoFalse ←これを
>> Selection.ShapeRange.Fill.Solid '←これより下の行に(どこでもいい)移動。
>> Selection.ShapeRange.Fill.Transparency = 0#
>> Selection.ShapeRange.Line.Weight = 0.75
>> Selection.ShapeRange.Line.DashStyle = msoLineSolid
>> Selection.ShapeRange.Line.Style = msoLineSingle
>> Selection.ShapeRange.Line.Transparency = 0#
>> Selection.ShapeRange.Line.Visible = msoTrue
>> Selection.ShapeRange.Line.ForeColor.SchemeColor = 64
>> Selection.ShapeRange.Line.BackColor.RGB = RGB(255, 255, 255)
>>End If
>>.printout
>>Selection.Delete

【50303】Re:円の中を透明にして印刷したいのですが
発言  Lindy  - 07/7/19(木) 9:27 -

引用なし
パスワード
   ▼かなり初心者 さん:

>なぜかは不明ですが

ステップ実行でやってみると動作がわかります。
で、変な場所のコードをヘルプで見てみる・・・という感じで

Selection.ShapeRange.Fill.Visible = msoFalse
↑ここで塗りつぶし無しに設定します。

Selection.ShapeRange.Fill.Solid
↑次にここで塗りつぶし効果を均一に塗りつぶす設定にします。

という順番なので塗りつぶし無しにした後に塗りつぶすように
コード化されてます。
確かにマクロの自動記録でこうなるので自動記録のバグかな?と思います。

5525 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free