|
|
|
Помогите с OLE!
|
|||
|---|---|---|---|
|
#18+
Помогите пожалуйста! У меня проблема: есть Б.Д. с полем OLE (Документ Word), подскажите пожалуйста можно ли как-нибудь перевести все эти данные в тип поля "текстовой" (в ручную это сделать не реально т.к. 1000 записей), мне просто все эти данные надо перенести в другую Б.Д., но уже в нормальном виде. (Посмотрел все темы по OLE в форуме, но что-то ничего не нашел). Мне было бы лучше перевести данные не программно (т.к. VBA я знаю плохо), а, если это возможно, с помощью RAD инструментов. Буду признателен за любой совет по данной теме!!! :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2003, 18:47 |
|
||
|
Помогите с OLE!
|
|||
|---|---|---|---|
|
#18+
Я не знаю, что такое RAD, для меня как раз программно проще. :^) Но если не программно, то тогда Copy & Paste. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2003, 18:53 |
|
||
|
Помогите с OLE!
|
|||
|---|---|---|---|
|
#18+
RAD (rapid application development tool) - инструмент быстрой разработки приложений. А Вы предлагаете 1000 записей Copy & Paste? Я не против программного подхода, я просто не знаю, как работать с VBA. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2003, 19:21 |
|
||
|
Помогите с OLE!
|
|||
|---|---|---|---|
|
#18+
Если не хочешь переводить данные программно, то воспользуйся этим макросом: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Будет выполнять долго, ну ты же не хочешь программно!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2003, 09:28 |
|
||
|
Помогите с OLE!
|
|||
|---|---|---|---|
|
#18+
Спасибо большое за пример! Но уж простите меня бестолкового, у меня теперь такая загвоздка- во второй строке пишу: Table = "(user-tabl)" а комп ругается на эту строчку и пишет: Compile error: Invalid outside procedure!!! P.S. Библиотеки вроде все подключил. HELP ME PLEASE!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 15:42 |
|
||
|
Помогите с OLE!
|
|||
|---|---|---|---|
|
#18+
> Invalid outside procedure!!! Это значит, что этот текст должен быть в процедуре. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 15:47 |
|
||
|
Помогите с OLE!
|
|||
|---|---|---|---|
|
#18+
Может я что-то не правильно понял, но я запускаю этот макрос из VBA. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 15:57 |
|
||
|
Помогите с OLE!
|
|||
|---|---|---|---|
|
#18+
Каким образом? Можно полный текст? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 16:06 |
|
||
|
Помогите с OLE!
|
|||
|---|---|---|---|
|
#18+
Вот: Dim I As Long, Table As String Table = "(user-tabl)" DoCmd.OpenTable Table, acNormal, acEdit For I = 1 To 1000 SendKeys "{TAB}", True 'перейти на поле OLE (оно у меня в таблице второе поле) SendKeys "^~", True ' нажать на клавишу Ctrl+Enter SendKeys "^a", True ' Выделить весь текст в Word SendKeys "^{INSERT}", True ' Скопировать в буфер SendKeys "%{F4}", True ' Закрыть приложение SendKeys "{TAB}", True ' Перейти на следующее поле для вставки (Текст) SendKeys "+{INSERT}", True ' Вставить из буфера DoCmd.GoToRecord acDataTable, Table, acNext ' Переход на следующую запись SendKeys "+{TAB}", True ' Вернуться на предыдущее поле SendKeys "+{TAB}", True ' Вернуться на предыдущее поле Next I Если что, заранее извиняюсь за полное незнание данного вопроса! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 16:13 |
|
||
|
Помогите с OLE!
|
|||
|---|---|---|---|
|
#18+
Ну так это я уже видел. А как сударь (-рыня) это пытается запустить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 16:15 |
|
||
|
Помогите с OLE!
|
|||
|---|---|---|---|
|
#18+
Какой Run? Кнопка, что ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 16:20 |
|
||
|
Помогите с OLE!
|
|||
|---|---|---|---|
|
#18+
Ну можно и кнопкой, если это поменяет суть дела!-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 16:24 |
|
||
|
Помогите с OLE!
|
|||
|---|---|---|---|
|
#18+
А какой Run, если не кнопка??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 16:44 |
|
||
|
Помогите с OLE!
|
|||
|---|---|---|---|
|
#18+
твой код нужно пометить в общий модуль и обрамить процедурой, после этого можешь запускать без кнопки а через run Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 17:03 |
|
||
|
Помогите с OLE!
|
|||
|---|---|---|---|
|
#18+
P.S. А что это все-таки за волшебный Run? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 17:11 |
|
||
|
Помогите с OLE!
|
|||
|---|---|---|---|
|
#18+
А что значит "без кнопки а через run"? По-моему, кнопка и F5 работают совершенно одинаково. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 17:29 |
|
||
|
Помогите с OLE!
|
|||
|---|---|---|---|
|
#18+
Ннннда и почему я такой бестолковый, сам себе удивляюсь. Но я не понял: А что значит "пометить в общий модуль" "и обрамить процедурой"? А просто из VBA его запустить нельзя что ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 19:36 |
|
||
|
Помогите с OLE!
|
|||
|---|---|---|---|
|
#18+
"Поместить в общий модуль" Нажать Ф11, перейти во вкладку "Модули", нажать "Создать". "Обрамить процедурой" В созданном модуле написать Public Function aaa() Нажать Enter. Автоматом добавится строка End Sub Промеж этих строчек вставить твой код. Сохранить модуль под любым именем. Закрыть окно редактора ВБА. "Запустить процедуру": Нажать Ф11. Перейти на вкладку "Макросы" Нажать на кнопку "Создать макрос" Добавить команду "Выполнить программу" (или "запуск программы") В нижней половине окна макроса написать имя функции - aaa() Закрыть и сохранить макрос. Запустить его. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 19:49 |
|
||
|
Помогите с OLE!
|
|||
|---|---|---|---|
|
#18+
"поме с тить в общий модуль" - поместить в модуль, который виден на странице "Модули" (а не модуль формы или отчета). "обрамить процедурой" - поместить до и после две строки: Код: plaintext 1. 2. > А просто из VBA его запустить нельзя что ли? Такой возможности в VBA нет. Код вне процедуры - это ошибка (см. пример в 15:42). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 19:52 |
|
||
|
Помогите с OLE!
|
|||
|---|---|---|---|
|
#18+
Вот я балда! Все сделал, а создать макрос не догадался!!! Спасибо. :-))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 19:52 |
|
||
|
Помогите с OLE!
|
|||
|---|---|---|---|
|
#18+
2 Geo: Я абпаздал. Но "Запустить процедуру" можно и без макроса, а просто написав ее имя в Debug Window. Про использование макросов см. соответствующую дискуссию на этом форуме. :^) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 19:54 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32273472&tid=1679163]: |
0ms |
get settings: |
5ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 312ms |

| 0 / 0 |
