Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 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-сайт: dimit.pochta.ru
 Профиль | | #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-сайт: dimit.pochta.ru
 Профиль | | #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-сайт: dimit.pochta.ru
 Профиль | | #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

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам