0
このコードは別の投稿にあり、修正しようとしましたがバグがありました。目標は、特定のシート、キャプション、値、および色からすべてのチェックボックスとオプションボタンをリストすることです。 (.caption、.value、.backcolorは実行時エラー438を引き起こします。また、同じブックの一部であるワークシート上にリストしたいと思います。このコードとは別のファイルではありません。シート上のすべてのオブジェクトをリストする方法、キャプションと値
Sub ListAllObjects()
Dim ws As Worksheet
Dim objFSO As Object
Dim objFil As Object
Dim Sh As Shape
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile("C:\temp\summary.csv")
objFile.writeline "Sheet, Object Type, Object name, Object Caption, Object Value, Object Color"
For Each ws In ActiveWorkbook.Sheets 'keeing this in case I want it later
If ws.Name = "Hotel Check Sheet" Then
For Each Sh In ws.Shapes
If InStr(Sh.Name, "checkbox") > 0 Or InStr(Sh.Name, "optionbutton") > 0 Then
objFile.writeline ws.Name & "," & TypeName(Sh) & "," & Sh.Name & "," & Sh.Caption & "," & Sh.Value & "," & Sh.Color
End If
Next
End If
Next
objFile.Close
End Sub
ありがとう、@ Comintern。あなたは文脈でそれを使う方法を私に教えてくれませんか?私は "InStr(Sh.Name、"チェックボックス ")> 0またはInStr(Sh.Name、" optionbutton ")> 0の後に置いてみました。また、新しいファイルの代わりに既存のブックのシートに書き込む方法についての洞察はありますか? –
@JoePatrick - 'If'文を' TypeName(Sh.OLEFormat.Object)= "CheckBox"またはTypeName(Sh.OLEFormat.Object)= "OptionButton" Thenに変更しようとすると、 – Comintern