Страница: 1 |
Страница: 1 |
Вопрос: Памагите пжлста, срочно надо =)
Добавлено: 06.05.06 10:06
Автор вопроса:
ofile | ICQ: 11750095
Необходимо в Corel'е импортировать рисунок на лист, делается это так:
Dim a As ImportFilter
Set a = ActiveLayer.ImportEx("C:\рисунок.jpg")
a.Finish
Проблема в том, что при этом необходимо, чтобы человек сам выбрал импортируемый файл (без скриптов это делается так: File - Import), то есть надо сделать процедуру для кнопки, которая вызывала бы окно для выбора импортируемого файла.
Для примера скажу, что для открытия файла (векторного файла Corel, File - Open) все происходит следующим образом:
Dim doc1 As Document
Set doc1 = OpenDocument("С:\рисунок.cdr")
При этом открывается рисунок.cdr
Если вместо пути к рисунку укзать пустые кавычки,
Dim doc1 As Document
Set doc1 = OpenDocument("")
то скрипт открывает окошко для выбора открываемого файла
Для импорта, как мы видим выше используется метод ImportEx или практически аналогичный ему метод Import, которые на простое указывание кавычек начинают грязно материться.
Может быть кто-нить что-нить скажет по этому поводу...
Есть ли другие методы, позволяющие импортировать файл?
Замечу, что конечный результат должен представлять собой не сам файл, а только путь к нему, записанный в TextBox.
То есть сам импортируемый файл я все равно потом с листа удалю, а вот путь к нему нужно прописать (для дальнейшей работы макроса) Кстати, это надо сделать как можно проще и нагляднее, чтобы юзер этого макроса ниоткуда этот путь не копировал (что в принципе решает проблему =)), а просто выбирал файл.
Тому, кто дочитал все это - уже спасибо, долго читали =), думаю, что достаточно подробно все объяснил,
надеюсь на помощь =Ъ
Ответы
Всего ответов: 8
Номер ответа: 1
Автор ответа: Дмит
Вопросов: 11
Ответов: 160
Web-сайт:
Профиль | | #1
Добавлено: 06.05.06 10:40
А справки по VBA в Corel нет что-ли?
Номер ответа: 2
Автор ответа: ofile
ICQ: 11750095
Вопросов: 5
Ответов: 15
Профиль | | #2
Добавлено: 06.05.06 13:15
справка есть, но очень неполная, щас попробую
Номер ответа: 3
Автор ответа: ofile
ICQ: 11750095
Вопросов: 5
Ответов: 15
Профиль | | #3
Добавлено: 06.05.06 13:17
str=Application.GetOpenFilename()
не работает такого метода нету в кореле
Номер ответа: 4
Автор ответа: Дмит
Вопросов: 11
Ответов: 160
Web-сайт:
Профиль | | #4
Добавлено: 06.05.06 13:44
Попробуй тогда Application.FileDialog(msoFileDialogOpen).Show
Номер ответа: 5
Автор ответа: ofile
ICQ: 11750095
Вопросов: 5
Ответов: 15
Профиль | | #5
Добавлено: 06.05.06 14:16
такого тоже в кореле нема
Номер ответа: 6
Автор ответа: ofile
ICQ: 11750095
Вопросов: 5
Ответов: 15
Профиль | | #6
Добавлено: 06.05.06 16:39
урррря, народ, вот сделал сам:
Private Sub CommandButton3_Click()
Dim cst As Object
Dim FilePath As String
Set cst = CorelScriptTools
FilePath = cst.GetFileBox()
If FilePath <> "" Then
If cst.FileAttr(FilePath) = 0 Then
MsgBox "Некорректное имя файла"
Else
TextBox4 = FilePath
End If
End If
End Sub
подозреваю, что данный способ работает и в экселе, пользуйтесь
Номер ответа: 7
Автор ответа: Дмит
Вопросов: 11
Ответов: 160
Web-сайт:
Профиль | | #7
Добавлено: 06.05.06 17:16
Ну вот, а я только что накопал про .GetFileBox, которого кстати в Excel в помине нет.
Ну да вот и ссылка:
http://forum.oberonplace.com/
хороший форум по Corel (en). На русском что-то бедноватенько, может кто-нибудь знает?
Номер ответа: 8
Автор ответа: ofile
ICQ: 11750095
Вопросов: 5
Ответов: 15
Профиль | | #8
Добавлено: 06.05.06 18:06
спасибо большое за помощь, у тя ася есть?
что касается материалов по VBA for Corel на русском языке, то их просто нет, их и на английском маловато, пиши в асю 195079445