Schatten-Optionen in VBA
#6
Hallo Oswald,

OsCor schrieb:...man wünscht sich ein Makro oder wenigstens das Wissen, wie man eine derartige Fragestellung mit VBA löst.

Du hast als erfahrener Delphi-Programmierer gute Voraussetzungen Dir VBA anzueignen.
Schlüsselwörter und Syntax sind ja sehr ähnlich!
Beispiel:
Code:
String-Variablen, mit Delphi deklarieren:
var Schrift1, Schrift2: string;

String-Variablen, mit VBA deklarieren:
Dim Schrift1 As String, Schrift2 As String
______________________________________

Wertzuweisung mit dem With Statement in Delphi:

With schatten do
begin
   Opacity := 55;
   Feather := 23.5;
   OffsetX := 1.5;
   OffsetY := 1.5;
end;

Wertzuweisung mit dem With Statement in VBA:

With schatten
    .Opacity = 55
    .Feather = 20
    .OffsetX = 1.5
    .OffsetY = -2
End With
______________________________________

Schleife ohne Laufvariable mit Delphi:

for seite in AD.Pages do
begin
   // mach was
end;

Schleife ohne Laufvariable mit VBA:

For Each seite In AD.Pages
    ' mach was
Next

Du musst natürlich das Corel-Objektmodell kennenlernen aber Die Grundlagen wie Variablen, Objektorientierung, Kontrollstrukturen usw. beherrscht Du ja schon.

Beispiel 1) dem ausgewälten Objekt einen Schatten zuweisen:

Code:
Sub schatten1()
    'Objekte Deklarieren:
    Dim s As Shape
    Dim e As Effect
    Dim schatten As EffectDropShadow
    
    'Objektverweise herstellen
    Set s = ActiveShape
    Set e = s.CreateDropShadow
    Set schatten = e.DropShadow
    
    'Die Maßeinheit bestimmen (für den Offset):
    ActiveDocument.Unit = cdrMillimeter

    'Werte setzen
    With schatten
        .Opacity = 55 'roter Kreis Nr. 2 in Deinem Screenshot
        .Feather = 20 'roter Kreis Nr. 3 in Deinem Screenshot
        'nicht nummerierter roter Kreis in Deinem Screenshot:
        .OffsetX = 1.5
        .OffsetY = -2
    End With
End Sub

Beispiel 2) jedem (nicht gruppierten) Text, mit der Schrift "Book Antiqua", auf allen Seiten des Dokuments den Schatten des ausgewählen Objekts zuweisen:
Code:
Sub SchriftSchatten()
    Dim Schrift1 As String, Schrift2 As String
    Dim AD As Document
    Dim seite As Page
    Dim s As Shape, s1 As Shape
    Dim e As Effect, e2 As Effect
    Dim schatten As EffectDropShadow
    Dim schatten2 As EffectDropShadow
    
    Set s1 = ActiveSelectionRange.Shapes(1)
    For Each e In s1.Effects
        If e.Type = cdrDropShadow Then
            Set schatten = e.DropShadow
        End If
    Next
    
    Schrift = "Book Antiqua"
    
    Set AD = ActiveDocument
    For Each seite In AD.Pages
        For Each s In seite.Shapes.All
            If s.Type = cdrTextShape Then
                If s.Text.Story.Font = Schrift Then
                    If s.StaticID <> s1.StaticID Then
                        Set e2 = s.CreateDropShadow
                        Set schatten2 = e2.DropShadow
                        With schatten2
                            .Opacity = schatten.Opacity
                            .Feather = schatten.Feather
                            .OffsetX = schatten.OffsetX
                            .OffsetY = schatten.OffsetY
                        End With
                    End If
                End If
            End If
        Next
    Next
End Sub

Das Makro ist ziemlich nutzlos, es soll nur als Beispiel und Anregung dienen.

Vielleicht hilft Dir das beim Einstieg in VBA.

Bei Deiner Aufgabe ist Unkrauts Tip, oder aber „Effekt klonen“ wahrscheinlich rationeller als ein Makro zu basteln.

Gruß

Koter
Zitieren



Nachrichten in diesem Thema
Schatten-Optionen in VBA - von OsCor - 03.06.2014, 22:31
Schatten-Optionen in VBA - von OsCor - 04.06.2014, 10:50
Schatten-Optionen in VBA - von Unkraut - 04.06.2014, 12:29
Schatten-Optionen in VBA - von OsCor - 04.06.2014, 16:34
Schatten-Optionen in VBA - von koter - 07.06.2014, 18:27
Schatten-Optionen in VBA - von norre - 03.06.2014, 22:33
Schatten-Optionen in VBA - von OsCor - 07.06.2014, 21:33
Schatten-Optionen in VBA - von norre - 07.06.2014, 23:08
Schatten-Optionen in VBA - von OsCor - 08.06.2014, 21:14

Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Druckeinstellungen in den Optionen von CorelDraw OsCor 4 2.689 09.12.2021, 14:54
Letzter Beitrag: OsCor
Question Schatten hinzufügen HercONE 5 1.771 15.02.2020, 13:59
Letzter Beitrag: HercONE
  CDR X5 > Extras > Optionen Max 9 1.913 05.08.2016, 14:38
Letzter Beitrag: mvm
  Wie bekomme ich so einen Schatten hin? ohdumeineblume 7 1.878 24.06.2015, 23:31
Letzter Beitrag: miss_marple
  Hinterlegter Schatten mit Farbverlauf norre 0 1.225 23.01.2015, 02:21
Letzter Beitrag: norre
  Hinterlegten Schatten konstant halten nanotalker 3 1.589 22.01.2015, 13:01
Letzter Beitrag: nanotalker
  Objekt mit Schatten radieren canis 12 2.944 20.05.2014, 13:34
Letzter Beitrag: canis
  Extrusion und hinterlegter Schatten, X5, X7 OsCor 3 2.457 16.05.2014, 22:45
Letzter Beitrag: koter
  Linker u. rechter Schatten bei Corel Draw lightplace 6 2.033 12.09.2013, 18:04
Letzter Beitrag: lightplace
  Optionen verändern und speichern hansgeorg 3 1.148 06.02.2013, 15:22
Letzter Beitrag: hansgeorg