|
|
|
| подскажите, как получить путь к OLE объекту, если пользователь добаляет его штатными средствами акса, вообще, в этом поле где-то это сохраняеся или только сам файл как есть? | |
|
| |
|
|
|
| Штатными средствами сохраняется сам файл. Но можно хранить и путь к нему.
Private Sub Form_Open(Cancel As Integer)
Me.ole.Class = "Word.Document.8"
Me.ole.OLETypeAllowed = acOLELinked
Me.ole.SourceDoc = "C:\Что-то там.doc"
Me.ole.Action = acOLECreateLink
End Sub
ole – имя элемента управления | |
|
| |
|
|
|
| Ну, help я, конечно же, прочитал ... Штатные средства - я имел ввиду, что пользователь внедряет объект через меню "вставка" - "объект" - "добавить" и т.д.
Вопрос - как получить путь к уже втавленному (embeded) файлу ... | |
|
| |
|
|
|
| Если вы уже вставили файл - то он хранится в базе данных. Обращаясь к полю ОЛЕ вы получаете сам файл и программе до фонаря откуда он взялся изначально.
Если в базе вы храните пути к файлу, то используйте файлдиалог
Dim FName As String
Dim result As Integer
With Application.FileDialog(1)
.Title = "Поиск Файла"
.ButtonName = "Добавить"
.AllowMultiSelect = False
.Filters.Clear
.Filters.Add "*", "*.*", 1
result = .Show
FName = Trim(.SelectedItems.Item(1))
End With
FName - возвращает путь к файлу, который выбрал клиент.
Я по моему вам уже отвечал на этот вопрос раньше. Или не вам. Склероз замучал. | |
|
| |
|
|
|
| я извиняюсь, вы не внимательны,
1) не я определяю задачу, я ведь не для себя пишу; надо получить где лежал файл
2) есть уже внедренный объект, внедрялся штатно, т.е. не было возможности сохранять пути
... | |
|
| |
|
|
|
| Ну если при внедерении файла не была поставлена птычка указывающая на связь с этим файлом ( не помню как это называется у акса ) , то боюсь, что определить путь не получится. | |
|
| |
|
|
|
| хм ... печально, ведь где-то хранит таки ...
птычка обеспечиает обновляемость объекта относительно исходного файла, но сам путь не известно как и где хранит ... | |
|
| |
|
|
|
| может при обновлении можно поймать путь и сохранить? | |
|
| |