|
|
|
| Кто знает, как программно внедрить любой OLE объект, т.к. неизвестно заранее, какого типа файл пользователь будет внедрять? или как получить класс выбранного объекта?
Заранее спасибо ... | |
|
| |
|
|
|
| А зачем это нужно?
В принципе можно анализировать расширения файлов, но это, по моему, не лучший вариант. | |
|
| |
|
|
|
| нет, раширение не определяет синтаксис класса ... т.е. можно лишь предполагать, но надо точно и правильно записать в скрипт
а зачем, ну, пользователь по тех. процессу может внедрить любой объект (док-ворд, табл-экс, рис-бмп, рис-джипег, и т.п.) и другая служба должна его увидеть и открыть ... | |
|
| |
|
|
|
| а разве другой пользователь(служба) не могут открыть внедренный документ?
для чего им расширение или класс знать, если объект внедрён в базу?
взял и открыл... | |
|
| |
|
|
|
| тут я внедряю скриптом, а в первой строке надо указать параметр me!OLE.Class | |
|
| |
|
|
|
| Эта ф-ция открывает файл в его родном формате.
per1 - путь к файлу.
Function StartOfFile(per1)
Dim intResult As Integer
'intResult = ShellExecute(Application.hWndAccessApp, "open", strNameFile, 0, 0, SW_SHOWNORMAL)
intResult = ShellExecute(Application.hWndAccessApp, "open", per1, 1, 1, 1)
If intResult = 31 Then
MsgBox "Фиг его знает чо за тип файла"
End If
End Function
И не нужно заморачиваться с определением типа файла. | |
|
| |
|
|
|
| как открыть объект - понятно, а вот как внедрить скриптом - нет, объект любого класса ... | |
|
| |
|
|
|
| Хорошо, а такая вестчь не подойдет?
DoCmd.RunCommand acCmdInsertObject
| |
|
| |