Corel FORUM Strona Główna Corel FORUM
Forum użytkowników programów firmy Corel. Grafika wektorowa, rastrowa i obróbka zdjęć cyfrowych

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload

Poprzedni temat «» Następny temat
Wstaw (ze schowka) jako tekst niesformatowany
Autor Wiadomość
Artur Miernik 



Pomógł: 49 razy
Wiek: 52
Dołączył: 18 Lip 2010
Posty: 1608
Skąd: Starachowice
Wysłany: 8 Kwiecień 2015, 18:46   Wstaw (ze schowka) jako tekst niesformatowany

Patrząc na ten wątek, pomyślałem sobie, że być może warto naprawić to co od dawna nie działa w Corelu tak, jak trzeba, czyli wstaw specjalnie jako tekst (niesformatowany). Chodzi o to, żeby wstawiona fraza nie lądowała na środku strony, w ramce tekstu o szerokości tejże strony, lecz wklejała się tam, gdzie ustawiliśmy kursor narzędzia tekst. I lepiej niech nic nie robi się, jeśli kursor tekstowy nie jest ustawiony.

Poniższy kod działa i pochodzi z makra nagranego podczas wywołania edycja/ wklej specjalnie… jako tekst:
Kod:
Sub wklej_niesformatowane()
    ' Description:
    '     Wstawia tekst ze schowka jako niesformatowany
    ActiveLayer.PasteSpecial "Text"
    Dim Paste1 As ShapeRange
    Set Paste1 = ActiveSelectionRange
End Sub


Kłopot w tym, że nie wiem co powinienem wpisać w miejsce As ShapeRange.

Radźcie Panowie.
 
 
Shame 
Red Dot Corporation



Wersja CorelDRAW: X7
Pomógł: 213 razy
Wiek: 40
Dołączył: 19 Kwi 2012
Posty: 2565
Skąd: Poznań
Wysłany: 8 Kwiecień 2015, 21:08   

String?
 
 
chezare 



Pomógł: 402 razy
Dołączył: 24 Gru 2010
Posty: 4551
Skąd: Grodzisk Mazowiecki
Wysłany: 11 Kwiecień 2015, 15:09   

Ja bym na Twoim miejscu nic nie wpisywał. :-)
" …gdzie ustawiliśmy kursor narzędzia tekst. I lepiej niech nic nie robi się, jeśli kursor tekstowy nie jest ustawiony."
Artur, musisz się zdecydować jaki ma być kursor. :-)
Ja się w tym wszystkim zupełnie nie orientuję, ale widziałbym to tak. Najpierw trzeba ustalić pozycję kursora. Przyjmijmy że mamy kurX i kurY, które określają położenie kursora. Jak mamy te dane, to trzeba skonstruować coś takiego:

Dim Paste1 As ShapeRange
Set Paste1 = ActiveSelectionRange
Paste1.PositionX = kurX
Paste1.PositionY = kurY


Pozycja została zmieniona, ale pojawia się kolejny problem, jak zmienić rozmiar ramki
tekstowej tak żeby pasowała do tekstu?
Poza tym w taki sposób wstawia się tekst jak najbardziej sformatowany, choć nie tak jak w dokumencie z którego zostaje kopiowany, ta ramka ma przypisany font, jego rozmiar itd.

Przeczytałem to co napisałem i widzę, że to bez sensu jest. Jak ustalić pozycję gdzie ta ramka ma zostać wstawiona? Trzeba kliknąć w to miejsce, ustawić kursor w tym miejscu i co teraz? Jak uruchomić to makro, z klawiatury? To powinno działać tak jak wstawianie grafiki, wybierasz plik i klikasz gdzie ma zostać wstawiona jego zawartość.
 
 
Artur Miernik 



Pomógł: 49 razy
Wiek: 52
Dołączył: 18 Lip 2010
Posty: 1608
Skąd: Starachowice
Wysłany: 11 Kwiecień 2015, 16:44   

Do makra, o ile będzie działało, podwiąże się skrót, np.: [ctrl]+[shift]+[v] i po kłopocie.
 
 
maroQ 
Doradca


Pomógł: 16 razy
Wiek: 40
Dołączył: 08 Lut 2011
Posty: 117
Skąd: Kalisz
Wysłany: 14 Kwiecień 2015, 15:22   

Popracujcie sobie nad tym kodem:
Kod:
Sub PasteText()
    Dim txt As String
    txt = ClipboardGetText()
   
    If txt <> "" Then
        Dim x As Double, y As Double
        If ActiveDocument.GetUserClick(x, y, 1, 10, False, cdrCursorExtPick) = 0 Then
            ActiveLayer.CreateParagraphText x, y, x + 2, y - 2, txt
        End If
    Else
        MsgBox "Schowek nie zawiera tekstu", vbInformation, "-/\-"
    End If
End Sub

Function ClipboardGetText() As String
    Dim dob As DataObject
   
    Set dob = New DataObject
    dob.GetFromClipboard
    ClipboardGetText = dob.GetText
End Function

To jest samo wstawianie ze schowka w oparciu o kliknięcie użytkownika. Wymiary pola tekstowego można sobie ustawić wedle uznania.
 
 
chezare 



Pomógł: 402 razy
Dołączył: 24 Gru 2010
Posty: 4551
Skąd: Grodzisk Mazowiecki
Wysłany: 15 Kwiecień 2015, 21:39   

Artur, Szaman naprawił wstawianie tekstu. Teraz tylko sobie dorobisz skrót i gitara. :-)
U mnie działanie procedury skończyło się na deklaracji

za co odpowiedzialna jest windowsowa biblioteka:

Po podłączeniu działa. :-)
Jeśli jednak spróbujecie wkleić ze schowka grafikę, to skończy się taki pomysł na:

i nie zobaczycie tekstu o tym, że w schowku tekstu nie ma. :-)
Oczywiście to drobny mankament, który można naprawić, np.:
Kod:
Function ClipboardGetText() As String
    Dim dob As DataObject
           On Error Resume Next
    Set dob = New DataObject
    dob.GetFromClipboard
    ClipboardGetText = dob.GetText
End Function

Na początku wydawało mi się, że to nie ma sensu, ale jestem coraz bliżej tego, żeby się do nowej funkcji przyzwyczaić. :-) Szaman zasłużył na pochwałę.
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Nowe zasady dotyczące cookies. Wykorzystujemy pliki cookies, aby nasz serwis lepiej spełniał Państwa oczekiwania. Można zablokować zapisywanie cookies, zmieniając ustawienia przeglądarki.
 

ABC CorelDRAW X7 PL

ABC CorelDRAW X7 PL
Roland Zimek

Cena: 39.90 z�

dodaj do koszyka
zobacz opis

 

CorelDRAW X7 PL. �wiczenia praktyczne

CorelDRAW X7 PL. �wiczenia praktyczne
Roland Zimek

Cena: 27.00 z�

dodaj do koszyka
zobacz opis

 

Corel PaintShop Pro X4. Obr�bka zdj�� cyfrowych. �wiczenia praktyczne

Corel PaintShop Pro X4. Obr�bka zdj�� cyfrowych. �wiczenia praktyczne
Roland Zimek

Cena: 34.90 z�

dodaj do koszyka
zobacz opis

 

From PHP to Ruby on Rails. Transition from PHP to Ruby by leveraging your existing backend programming knowledge eBook

Cena: 98.10 z�
Dodaj do koszyka

 

Roblox Lua w 24 godziny. Tworzenie gier dla początkujących

Roblox Lua w 24 godziny. Tworzenie gier dla początkujących
Roblox Corporation

Cena: 34.50 zł
zobacz opis

Strona wygenerowana w 0.08 sekundy. Zapytań do SQL: 13