Excel VBA質問箱 IV

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

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


12345 / 13646 ツリー ←次へ | 前へ→

【10980】オブジェクトの操作 Woodsman 04/2/21(土) 2:54 質問
【10981】Re:オブジェクトの操作 IROC 04/2/21(土) 11:43 回答
【10989】Re:オブジェクトの操作 kein 04/2/22(日) 0:52 回答
【10991】Re:オブジェクトの操作 Woodsman 04/2/22(日) 17:43 お礼

【10980】オブジェクトの操作
質問  Woodsman  - 04/2/21(土) 2:54 -

引用なし
パスワード
   例えば、画面操作のマニュアルを作りたいのですが、その為にこんなことを実現したいと考えています。

前提として、ワークシート上に、画面のハードコピー(オブジェクト)が複数存在している状態です。ここから、この複数のオブジェクトについて、

1.サイズを揃え
2.色を変え
3.(オブジェクトが重ならない程度の)一定間隔で上下に並べたい

のです。

こういったオブジェクト操作は可能なのでしょうか。

ご存知の方がおられれば、教えて頂きたいと思います。
よろしくお願い致します。

【10981】Re:オブジェクトの操作
回答  IROC  - 04/2/21(土) 11:43 -

引用なし
パスワード
   マクロの自動記録を活用してみては如何でしょうか?

【10989】Re:オブジェクトの操作
回答  kein  - 04/2/22(日) 0:52 -

引用なし
パスワード
   色を変えるのはうまくいかないようですが、形をそろえて一定間隔に並べるなら

Sub Pic_Align()
  Dim i As Integer, Pc As Integer
  Dim Lp As Single, Tp As Single
  Dim Wp As Single, Hp As Single
 
  Pc = ActiveSheet.Pictures.Count
  If Pc < 2 Then Exit Sub
  With ActiveSheet.Pictures(1)
   Lp = .Left: Tp = .Top
   Wp = .Width: Hp = .Height
  End With
  For i = 2 To Pc
   With ActiveSheet.Pictures(i)
     .Left = Lp: .Top = Tp + Hp + 10
     .Width = Wp: .Height = Hp
     Tp = .Top
   End With
  Next i
End Sub

いちおう 2箇所ある With ステートメントプロック内に、

.Interior.ColorIndex = ?

と追加してみて下さい。そちらの環境なら色が着くかもしれません。

【10991】Re:オブジェクトの操作
お礼  Woodsman  - 04/2/22(日) 17:43 -

引用なし
パスワード
   ありがとうございます。

結論から申しますと、解決しました!

マクロの記録も試したんですが、複数のオブジェクトの属性変更のしかたが良くわからず…教えて頂いたコードの通り、繰り返し処理を組み込むことで対応できました。

具体的な解決案を頂き、ありがとうございました。

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