listesinde nasıl bulunur? Bu kodu başka bir yayında buldum ve değiştirmeyi denedim ancak hata verdi. Amaç, belirli bir sayfadaki tüm onay kutularını ve seçenek tuşlarını, altyazılarını, değerlerini ve renklerini listelemektir. (.caption, .value ve .backcolor çalışma zamanı hatası 438. Ayrıca, bu çalışma kitabının bir parçası olan bir çalışma sayfasında bunları listelemek istiyorum, bu kodun yaptığı gibi ayrı bir dosya değil. Herhangi bir yardım büyük beğeni topluyor.Bir sayfada bulunan tüm nesneler, altyazı ve değer
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
Teşekkür ederiz, @Comintern. Bunu bağlamda nasıl kullanacağımı lütfen söyler misiniz? "InStr (Sh.Name," onay kutusu ")> 0 veya InStr (Sh.Name," optionbutton ")> 0 Sonra" ancak sonra yok "ifadesinin arkasına koymaya çalıştım. Ayrıca, yeni bir dosya yerine varolan çalışma kitabındaki bir sayfaya nasıl yazılacağı konusunda herhangi bir kavrayışınız var mı? –
@JoePatrick - "If" ifadesini "If TypeName (Sh.OLEFormat.Object) =" CheckBox "olarak değiştirmeyi deneyin. Veya TypeName (Sh.OLEFormat.Object) =" OptionButton " – Comintern