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

Makra - makro do importu plików

michal.s - 20 Marzec 2014, 13:57
Temat postu: makro do importu plików
Witam.
Czy mógłby mi ktoś pomóc w odnalezieniu na forum postów z zastosowaniem opcji ComboBox.
Pracuję w Corelu X4 i chciałbym przygotować makro do importu plików.
Przygotowałem coś takiego i musiałbym do tego dopisać kod.

Założyłem, żeby programik będzie działał tak:
Z listy ComboBox1 wybieram jeden z plików które znajdują się na dysku c w katalogu pliki do importu (w katalogu będą znajdować się np. pliki: ramka.pdf, paser.pdf, pas.pdf, skalka.pdf)
C:\pliki do importu\
Po kliknięciu w przycisk ComandButton1 plik zostaje zaimportowany do aktualnego arkusza.
Z góry dziękuję za pomoc :-)

chezare - 20 Marzec 2014, 21:54

To jest jakieś szkolne zadanie, czy próba zastąpienia czegoś co już jest czymś innym?
nakan - 20 Marzec 2014, 22:39

michal.s masz świadomość że to co do tej pory to jest dopiero 1% roboty za sobą, ten łatwiejszy jeden procent :) łyżkę już masz teraz tylko musisz wykopać tą łyżką kilometrowy tunel w skale :)

Poszperajna forum.oberonplace.com
Tutaj sobie popatrz : http://forum.oberonplace.com/showthread.php?t=7077
albo tutaj: http://forum.oberonplace.com/showthread.php?t=5995

i pewnie nie tylko :)


Warto zaglądać też do helpa zawartego w samym VBA Corela .

michal.s - 21 Marzec 2014, 01:43

Dziękuję nakan :-)
Na pewno zajrzę na zaproponowane przez Ciebie strony i myślę, że to w dużym stopniu mi pomoże...

chezare,
Cytat:
To jest jakieś szkolne zadanie...

dla Ciebie na pewno tak... :-) dla mnie to podstawówka... a może nawet początkowe nauczanie w klasie "0" ;-)
Cytat:
czy próba zastąpienia czegoś co już jest czymś innym?

nie bardzo wiem co masz na myśli, pisząc "czegoś" "czymś innym"

Nigdy nie będę programistą... ale mam dużą satysfakcję jeżeli uda mi się wykonać jakiś programik (oczywiście z Waszą pomocą).
W niejednym już pomogłeś mi Ty i inni z forum, za co ponownie dziękuję :-)
Nie szukam tutaj gotowego rozwiązania, proszę tylko o ukierunkowanie...

chezare - 21 Marzec 2014, 06:23

Michał, w moim pytaniu nie ma żadnej złośliwości, zastanawiam się tylko po co zastępować ctrl+I makrem? Jeśli chcesz sprawdzić czy się da, to da się na pewno. Nakan mówi, bardzo optymistycznie, że masz 1%, uruchom nagrywanie, zaimportuj pdfa, będziesz miał parę linijek kodu, zostanie wypełnienie listy nazwami plików, ale to nie będzie koniec, bo za chwilę zadasz sobie pytanie jak zaimportować tylko 2 i 4 stronę pdfa i jak sprawdzić ile ma stron? Zaczniesz myśleć, czy nie lepiej wywołać z makra windowsowego okienka importu? Później przyjdzie Ci do głowy że fajnie by było móc wybrać miejsce z którego się plik importuje, itd.
Ja trafiłem na forum z powodu VBA, chciałem dokładnie taką samą jak Twoja listę wypełnić nazwami fontów zainstalowanych w systemie, nie doczekałem się na pomoc, może Ty będziesz miał więcej szczęścia. Naukę zaczyna się od najprostszych zadań, ty próbujesz chyba od środka, choć mogę się mylić, nie znając stanu Twojej wiedzy w temacie VBA. Zadanie które sobie wymyśliłeś wcale nie jest proste do zrealizowania, to na pewno nie jest zerówka :-)

maroQ - 13 Sierpień 2014, 07:02
Temat postu: Idzie rak nieborak... ja bym to zrobił tak...
Można tak:

Kod:
Private path As String

Private Sub ButtonImport_Click()
    On Error GoTo err1
   
    Dim tmp As String
    tmp = ButtonImport.Caption
    ButtonImport.Caption = "Czekaj..."
    ButtonImport.Enabled = False
    Me.Repaint
       
    Dim impflt As ImportFilter
    Dim impopt As StructImportOptions
    Set impopt = New StructImportOptions
    impopt.MaintainLayers = True
    impopt.Mode = cdrImportFull
    impopt.TextFormatting = cdrImportNoFormatting
   
    Set impflt = ActiveLayer.ImportEx(path & "\" & ComboBoxFiles.Text, cdrPDF, impopt)
    impflt.Finish
   
    ButtonImport.Caption = tmp
    ButtonImport.Enabled = True
   
    MsgBox "Import zakończony", vbInformation, "Import pliku"
    Exit Sub
err1:
    MsgBox "Podczas importu wystąpił błąd:" & vbNewLine & err.Description, vbCritical, "error " & err.Number
End Sub

Private Sub UserForm_Initialize()
    Dim fName As String
    path = "C:\temp"
   
    fName = Dir(path + "\*.pdf")
   
    ComboBoxFiles.Style = fmStyleDropDownList
    ComboBoxFiles.SelText = fName
   
    Do While fName <> ""
        ComboBoxFiles.AddItem fName
        fName = Dir
    Loop
   
End Sub


Zmień sobie tylko ścieżkę do pliku w UserForm_Initialize i wszystko.

Wywołanie można zrobić z module wpisując np.:
Kod:
Sub RunIt()
    CorelPDFImport.Show 0
End Sub


Powered by phpBB modified by Przemo © 2003 phpBB Group