| |
Corel FORUM Forum użytkowników programów firmy Corel. Grafika wektorowa, rastrowa i obróbka zdjęć cyfrowych |
 |
Makra - Poprawa makra
kam_fafik - 10 Wrzesień 2025, 07:56 Temat postu: Poprawa makra Cześć. Mam takie makro do rozstawiania elementów obok siebie ale po przeniesieniu się na nowy komputer zaczęło się dziwnie zachowywać - znaczy się zmieniłem komputer na nowy szybszy i na nim zainstalowałem świeżego CorelaX7. Zamiast wklejać normalnie elementy to wkleja je jako obiekt Coreldraw i zmienia jego rozmiar. Nie bardzo wiem co jest nie tak, że tak dziwnie wychodzi. Może ktoś jest w stanie mi pomóc w poprawie tego.
W zał. podsyłam plik źródło i wynik. Pracuje na CorelX7. Poniżej kod makra.
| Kod: | Public Sub ROZSTAWIANIE()
Dim Message, Title, Default, MyValue
'Default = "10" ' Set default.
Message = "Wpisz liczbe wierszy w kolumnie" ' Set prompt.
Title = "Pole dialogowe" ' Set title.
' Display message, title, and default value.
MyValue = InputBox(Message, Title, Default)
If MyValue = 0 Then
MyValue = ""
End If
If MyValue = "" Then
MsgBox "Podales zla liczbe"
Else
Dim s As Shape, x As Double, y As Double, _
i As Integer, j As Integer, b_union As Boolean, _
doc1 As Document, doc As Document, pg As Page, frame As Shape
col_count = MyValue 'ilosc stron w kolumnie
b_union = False
i = 0
j = 0
Optimization = True
Set doc = ActiveDocument
doc.Unit = cdrMillimeter
doc.ActivePage.GetSize x, y
For Each pg In doc.Pages
If b_union = False Then
Set doc1 = CreateDocument
doc1.Name = "union"
doc1.Unit = cdrMillimeter
b_union = True
End If
Set frame = pg.ActiveLayer.CreateRectangle(0, y, x, 0)
Set s = pg.SelectShapesFromRectangle(-1.5, y + 1.5, x + 1.5, -1.5, False)
frame.Delete
s.Group
s.Copy
Set s = doc1.ActiveLayer.Paste
s.SetPosition j * x, y - (i * y)
i = i + 1
If i = col_count Then
i = 0
j = j + 1
End If
Next
'doc.Close
Optimization = False
End If
End Sub |
Po sprawdzeniu wychodzi na to że corel wkleja skopiowany element jako obiekt OLE zamiast normalnie jako kształt. Niestety nie wiem jak to zmienić. Może ma ktoś jakiś pomysł?
|
|