隠。

ブログ | 2008/4/12 11:28
EXCEL。個人的覚書ですが、役に立つことが万に一でもあれば。というわけで、内容は全然保証しませんのでその上で。

●WorkSheetオブジェクト
・DrawingObjectsコレクション(?)…シート上の全図形やボタンとか
・DrawingObjectオブジェクト…なんだったっけ。いつか調べる。→存在しなかった。
見つけたのみで実際まだ活用してない。というかなんだったかよく覚えてない。思い出したら追記。
→Shapesとの違い。Shapesには、ドロップダウンのボタンも含まれるよう(だからShapes.Deleteはエラーになるのか?)。各アイテムはShape。
→DrawingObjectsにドロップダウンのボタンは含まれない。各アイテムはDrawingObjectオブジェクトではなく、Lineだったり、OLEObjectだったり。
→Shape.DrawingObjectで、DrawingObjectsから取得できる各アイテムを取得可。

┌DrawingObjects┐
|┌──────┼──OLEObjects
||OLEObject   |    |
||OLEObject   |    |
|└──────┼──┘
|              |
|┌──────┼──Lines
||Line        |    |
|└──────┼──┘
|              |
|┌──────┼──Ovals
||Oval        |    |
||Oval        |    |
||Oval        |    |
|└──────┼──┘
|              |
|…            |
|              |
|…            |
└───────┘
・Ovalsコレクション…シート上の全円
・Ovalオブジェクト
Set Oval = Worksheet.Ovals.Item("円名")
・Linesコレクション…シート上の全線
・GroupObjectsコレクション…シート上のグループ化すべてのもの
・GroupObjectオブジェクト…シート上の一つのグループ
Set GroupObject = Worksheet.GroupObjects.Item("グループ名")
・TextBoxesコレクション…シート上の全テキストボックス
・TextBoxオブジェクト…
WorkSheet.TextBoxes.PrintObject = False
シート上の全テキストボックスが印刷されなくなる。

●OLEObjectオブジェクト
・CommandButtonオブジェクト
Set CommandButton = OLEObject.Object
ActiveX コントロール
次の表に示す ActiveX コントロールを作成するには、対応する OLE プログラム ID を使用します。

作成するコントロール|使用する ID
CheckBox            |Forms.CheckBox.1
ComboBox            |Forms.ComboBox.1
CommandButton       |Forms.CommandButton.1
Frame               |Forms.Frame.1
Image               |Forms.Image.1
Label               |Forms.Label.1
ListBox             |Forms.ListBox.1
MultiPage           |Forms.MultiPage.1
OptionButton        |Forms.OptionButton.1
ScrollBar           |Forms.ScrollBar.1
SpinButton          |Forms.SpinButton.1
TabStrip            |Forms.TabStrip.1
TextBox             |Forms.TextBox.1
ToggleButton        |Forms.ToggleButton.1

●多分
CommandButtonのCaptionのフォントはプロパティウィンドウから変更できるが、<del>なぜかフォントサイズが変更できない。なのでVBAで設定する。一度だけ実行すれば消して良い。</del>
Private Sub ボタン名_Click()
   Let Me.OLEObjects("ボタン名").Object.FontSize = 任意のサイズ(数値)
End Sub

.FontItalic=Trueでイタリック
.FontBold=Trueで太字
などなど。

追記。
→プロパティウィンドウからできた。フォント名を変更しようとボタンを押すと例のフォント設定用のウィンドウが出てくる。そこでサイズだけじゃなく、boldもitalicも設定可。

●例
For Each Shape In WorkSheet.GroupObjects.Item("グループ名").ShapeRange.GroupItems
   If Shape.OLEFormat.Object.Object.Value = True Then ~
Next Shape
グループ化したラジオボタンがどれか選択されているかどうか。
なんでこんな風になったかわからないが、かきかえれそう。時間あるとき検証。

書き換えた。
For Each Shape In WorkSheet.Shapes("グループ名").GroupItems
   If Shape.DrawingObject.Object.Value = True Then ~
Next Shape

Rottel内コンテンツ

ユーザー一覧

Rottelとは?
利用規約
開発飲料
利用者の声
ヘルプ
close