|
|
|
vba+excel. в 2003 работает, а в 2000 - нет.
|
|||
|---|---|---|---|
|
#18+
стоит ссылка в references microsoft excel 11.00 object library. пишу код для выгрузки в excel Private Sub Prov_Click() Screen.MousePointer = vbHourglass Dim Xl As Excel.Application, I, j As Integer Set Xl = CreateObject("Excel.Application") Xl.Workbooks.Open (App.Path + "\мой.xlt") Xl.Sheets(1).Select If rcd.State = 1 Then rcd.Close ss = "select fam, name from buh.dbo.zek" rcd.Open ss, cn, adOpenKeyset, adLockOptimistic j = 2 While Not rcd.EOF Xl.Cells(j, 1) = rcd!fam Xl.Cells(j, 2) = rcd!name Xl.Range("A1", "B" & j).Borders.LineStyle = xlContinuous End If rcd.MoveNext Wend Xl.Columns.AutoFit Xl.Visible = True Screen.MousePointer = vbDefault всё это работает, если office 2003. в 2000 office выдает критическую ошибку, и всё приложение закрывается. скажите, в чем может быть причина? не могу разобраться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2005, 08:18 |
|
||
|
vba+excel. в 2003 работает, а в 2000 - нет.
|
|||
|---|---|---|---|
|
#18+
Настенькастоит ссылка в references microsoft excel 11.00 object library.Вообще то в 2000 офисе версия называется 9.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2005, 08:33 |
|
||
|
vba+excel. в 2003 работает, а в 2000 - нет.
|
|||
|---|---|---|---|
|
#18+
а можно к-н программно изменить эту ссылку на 9.0? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2005, 08:36 |
|
||
|
vba+excel. в 2003 работает, а в 2000 - нет.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2005, 09:40 |
|
||
|
vba+excel. в 2003 работает, а в 2000 - нет.
|
|||
|---|---|---|---|
|
#18+
Можно сделать иначе - все переменные Экселевских типов преобразовать в object обычные, убрать референс и все - через CreateObject создаете объект и дальше с ним работаете, как у вас в принципе и реализовано. Ну и заменить константы Экселя нормальными значениями (числовыми). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2005, 09:43 |
|
||
|
vba+excel. в 2003 работает, а в 2000 - нет.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext можно поподробнее, если возможно пример ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2005, 10:30 |
|
||
|
vba+excel. в 2003 работает, а в 2000 - нет.
|
|||
|---|---|---|---|
|
#18+
programmatorможно поподробнее, если возможно пример Можно. Берем первый код и делаем с ним такие преобразования (полную точность не гарантирую - сейчас проверить не на чем): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2005, 11:06 |
|
||
|
vba+excel. в 2003 работает, а в 2000 - нет.
|
|||
|---|---|---|---|
|
#18+
Вс, разобралась. объявила как Dim Xl as object Set Xl = CreateObject("Excel.Application") Xl.Workbooks.Open (App.Path + "\мой.xlt") Xl.Sheets(1).Select теперь во всех версиях office работает. спасибо огромное!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2005, 11:08 |
|
||
|
vba+excel. в 2003 работает, а в 2000 - нет.
|
|||
|---|---|---|---|
|
#18+
У меня вопрос на ту же тему: Я подключаю через References... библиотеку Microsoft Excel 11.0 Object Library в VBA для Access, далее идет забор данных из Access-запроса на выборку и вставка их в существующий Excel-документ (для вставки запускаю программу в Excel-документе). Sub ПрайсExcel() Dim stDocName As String Dim xlaProd As Excel.Application Dim xlwProd As Excel.Workbook Dim xlrProd As Variant DoCmd.Hourglass True stDocName = "з000 ПрайсДляExcel" DoCmd.OpenQuery stDocName, False, acReadOnly 'открываем запрос и запоминаем данные DoCmd.DoMenuItem acQueryBar, acEditMenu, acSelectAllRecords, , acMenuVer70 DoCmd.DoMenuItem acQueryBar, acEditMenu, acCopy, , acMenuVer70 'Открываем таблицу Excel Set xlwProd = GetObject("M:\...\1ПрайсExcel.xls", "Excel.Sheet") Set xlaProd = xlwProd.Parent 'запускаем внутренний макрос на вставку данных в лист Excel xlrProd = xlaProd.Application.Run("1ПрайсExcel.xls!ЗакачкаПрайса") With xlwProd.ActiveSheet 'в табличке указываем номер прайса .Cells(5, 3).Value = "ПРАЙС-ЛИСТ №" + Str(НОМ_ПРАЙСА()) End With ... Я использую метод GetObject для работы с Excel-книгой Переменная xlwProd не возьмется без библиотеки Microsoft Excel xx.xx Object Library Библиотека Microsoft Excel 11.0 Object Library есть только у меня на компьютере, у всех остальных - десятая Как быть в этом случае? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2006, 12:54 |
|
||
|
vba+excel. в 2003 работает, а в 2000 - нет.
|
|||
|---|---|---|---|
|
#18+
Либо подключите в референсы библиотеку 10-й версии, либо поставляйте вместе с дистрибутивом 11-ю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2006, 13:01 |
|
||
|
vba+excel. в 2003 работает, а в 2000 - нет.
|
|||
|---|---|---|---|
|
#18+
Дык уже ж ответили. Но если с первого раза не понятно, не сложно еще раз. Убери ссылки из референсов, все экселевские переменные переобъяви как Object, а константы замени из числовыми значениями. Comprende? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2006, 13:31 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=33093840&tid=2165319]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
161ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 477ms |

| 0 / 0 |
