Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Füllfarbe eines Vorhandenen Shapes ermitteln

Frage Entwicklung VB for Applications

Mitglied: aruba1

aruba1 (Level 1) - Jetzt verbinden

14.12.2010 um 14:01 Uhr, 6174 Aufrufe, 3 Kommentare

Hallo,

ich habe folgendes Problem. Ich habe in einer Exceldatei verschiedene Shapes mit unterschidlichen Füllfarben. Wie kann ich per VBA den Wert der Füllfarbe eines Shapes ermitteln?

Mit den Texteigenschaften und den Größen und Positionsangaben hat schon geklappt.


Dim ClipAblage As DataObject
Set ClipAblage = New DataObject
X = 2
For Each m_shape In ActiveWorkbook.ActiveSheet.Shapes

If Left(m_shape.Name, 3) = "Ova" Then
Worksheets("CB").Range("BA" + CStr(X)).Value = m_shape.Name
Worksheets("CB").Range("BB" + CStr(X)).Value = m_shape.Top
Worksheets("CB").Range("BC" + CStr(X)).Value = m_shape.Left
Worksheets("CB").Range("BD" + CStr(X)).Value = m_shape.Height
Worksheets("CB").Range("BE" + CStr(X)).Value = m_shape.Width
m_shape.Select
With Selection
Rem Textinhalt
ClipAblage.SetText Selection.Characters.Text
If Selection.Characters.Text <> "" Then
Worksheets("CB").Range("BF" + CStr(X)).Value = Selection.Characters.Text
End If
Rem Schriftgrösse
ClipAblage.SetText Selection.Font.Size
Worksheets("CB").Range("BG" + CStr(X)).Value = Selection.Font.Size
Rem Schriftart
ClipAblage.SetText Selection.Font.Name
Worksheets("CB").Range("BH" + CStr(X)).Value = Selection.Font.Name
Rem Füllfarbe

End With
X = X + 1
End If


Vielen Dank für eure Hilfe im Voraus.
Mitglied: 76109
14.12.2010 um 19:20 Uhr
Hallo aruba1!

In etwa so:
01.
'.... 
02.
    For Each Shape In ActiveWorkbook.ActiveSheet.Shapes 
03.
        With Shape.OLEFormat.Object 
04.
            With .Font 
05.
                f_Name = .Name                  'String 
06.
                f_Size = .Size                  'Double 
07.
                f_FontStyle = .FontStyle        'String 
08.
                f_Color = .Color                'Double 
09.
                f_ColorIndex = .ColorIndex      'Long 
10.
                f_Bold = .Bold                  'True(-1)/False(0) 
11.
                f_Italic = .Italic              'True(-1)/False(0) 
12.
            End With 
13.
             
14.
            With .Interior 
15.
                i_Color = .Color                'Double 
16.
                i_ColorIndex = .ColorIndex      'Double 
17.
            End With 
18.
        End With 
19.
    Next 
20.
'....
und anstelle von
01.
With Shape.OLEFormat.Object
geht's auch mit
01.
With Shape.DrawingObject
Gruß Dieter
Bitte warten ..
Mitglied: aruba1
15.12.2010 um 21:57 Uhr
Hallo Dieter,

irgendwie klappt das nicht. Als Ergebnis kommt eine Farbe als Zahl raus, z. B. 16777215.

Hast du vielleicht noch eine Idee?

Vielen Dank
Bitte warten ..
Mitglied: 76109
16.12.2010 um 17:17 Uhr
Hallo aruba1!

Zitat von aruba1:
irgendwie klappt das nicht. Als Ergebnis kommt eine Farbe als Zahl raus, z. B. 16777215.
Was heißt klappt nicht?

Dezimal 16777215 = der Farbwert für Weiß (Hex FFFFFF) und als ColorIndex hast Du den Wert --4105 und der steht für die Konstante XlAutomatic bzw "Keine Füllung"

Gruß Dieter
Bitte warten ..
Ähnliche Inhalte
Festplatten, SSD, Raid
Speicherverbrauch ermitteln (8)

Frage von Yannosch zum Thema Festplatten, SSD, Raid ...

Netzwerkmanagement
gelöst Neue Cisco Switche im Netzwerk ermitteln um diese zu konfigurieren (9)

Frage von WinLiCLI zum Thema Netzwerkmanagement ...

Webentwicklung
Vorhandenen Windows Webserver Nachbauen (5)

Frage von Leo-le zum Thema Webentwicklung ...

Batch & Shell
gelöst In einer Batch variable die Datei extension ermitteln ? (4)

Frage von Kriegstreiber zum Thema Batch & Shell ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
CMS
Lokales Wordpress im LAN - wie aufsetzen? (16)

Frage von Static zum Thema CMS ...

LAN, WAN, Wireless
gelöst Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (16)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
IP im privaten Netz nicht erreichbar (14)

Frage von guntis zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
Devolo DLAN 500 pro Wireless+ (13)

Frage von IceAge zum Thema LAN, WAN, Wireless ...