|
Проблема с Макросами
|
|||
---|---|---|---|
#18+
Привет, коллеги! Вот фрагмент кода : sav_name=........ local loExcel, lcMacros text to lcMacros noshow pretext 3 Sub Custom_1() Application.SendKeys "{ENTER}", true MsgBox (" Save Data ") Rows("1:1").Select Selection.ClearContents Selection.Insert Shift:=xlDown Selection.Insert Shift:=xlDown Selection.Insert Shift:=xlDown Selection.Insert Shift:=xlDown ActiveWindow.WindowState = xlNormal Workbooks.Open Filename:="C:\ACP\Reports\_header.xls" Rows("3:5").Select Selection.Copy With ActiveWindow .Top = 45.25 .Left = 534.25 End With Windows("tot_repSk.xls").Activate ActiveWindow.WindowState = xlMaximized Rows("3:3").Select Selection.Insert Shift:=xlDown Rows("5:8").Select Application.CutCopyMode = False Selection.Delete Shift:=xlUp Range("A1").Select Dim LastRow As Long LastRow=[A65536].End(xlUp).Row Range("A5",Cells(LastRow,12)).Select Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft) . . . . End Sub endtext strtofile(lcMacros, "c:\acp\Reports\t_r.bas") loExcel = CREATEOBJECT("Excel.Application") loExcel.DisplayAlerts = .F. with loExcel .visible = .f. .Workbooks.Open("C:\acp\reports\tot_repSk.xls") .Sheets("tot_repsk").Select .ActiveWorkBook.VBProject.VBComponents.import ("c:\acp\Reports\t_r.bas") .run("Custom_1") .visible = .t. .ActiveWorkBook.SaveAS ("&sav_name") ENDWITH на рабочих местах с Excel 2002 SP2 все работает нормально, а с Excel 2002 SP3 - не срабатывает Application.SendKeys "{ENTER}", true и зависает Excel при сохранении В чем может быть проблема ? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2009, 12:18 |
|
Проблема с Макросами
|
|||
---|---|---|---|
#18+
А вот это Application.SendKeys "{ENTER}" это зачем вообще? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2009, 13:14 |
|
Проблема с Макросами
|
|||
---|---|---|---|
#18+
Application.SendKeys "{ENTER}", true для того чтобы в окне MsgBox (" Save Data ") автоматом нажать ""Ок ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2009, 13:47 |
|
Проблема с Макросами
|
|||
---|---|---|---|
#18+
Если перед запуском макроса поставить: .DisplayAlerts=.f. то запрос не будет выдаваться. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2009, 13:59 |
|
Проблема с Макросами
|
|||
---|---|---|---|
#18+
Это понатно - непонятно другое - почему под SP3 не работает :( ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2009, 14:05 |
|
Проблема с Макросами
|
|||
---|---|---|---|
#18+
dima-k5Это понатно - непонятно другое - почему под SP3 не работает :( Потому что никто вам не обещал, что "потенциально опасные" действия будут работать в будущем. Вы пытаетесь эмулировать действия пользователя. Вполне естественно, нормальная система не должна вам этого позволить. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2009, 14:21 |
|
Проблема с Макросами
|
|||
---|---|---|---|
#18+
ну чтож, наверное придется откатываться на SP2 ;( ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2009, 15:00 |
|
Проблема с Макросами
|
|||
---|---|---|---|
#18+
dima-k5ну чтож, наверное придется откатываться на SP2 ;( Лучше попробуйте объяснить, зачем вы вообще эту команду вызываете? Чтобы закрыть собственный же MsgBox? А зачем? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2009, 07:56 |
|
Проблема с Макросами
|
|||
---|---|---|---|
#18+
Спасибо за активное обсуждение, но да бог с ним - с этим боксом.... Вопрос более существенный - почему подвисает Excel при сохранении документа . Выдается сообщение "Ошибка OLE, код 0x80010105; The server threw an exception." ? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2009, 15:01 |
|
Проблема с Макросами
|
|||
---|---|---|---|
#18+
Оно тебе надо, макрос программно ваять? Из ФОКСа все эти телодвижения сделать нельзя? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2009, 11:09 |
|
Проблема с Макросами
|
|||
---|---|---|---|
#18+
Дык еслиб это мне надо было - то и не парился бы. А так - такая постановка задачи. И именно такая ! Отчет должен быть сформирован Только в Excel и разукрашен как новогодняя елка. А т.к. к-во записей от 12 до 40 тисяч - то програмно формировать каждую строчку и форматировать её и разукрашивать есн-но ооочень долго. А вот через вышепредложенный механизм очень даже быстро. Вот и приходится изворачиваться..... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2009, 13:50 |
|
Проблема с Макросами
|
|||
---|---|---|---|
#18+
dima-k5Дык еслиб это мне надо было - то и не парился бы. А так - такая постановка задачи. И именно такая ! Отчет должен быть сформирован Только в Excel и разукрашен как новогодняя елка. А т.к. к-во записей от 12 до 40 тисяч - то програмно формировать каждую строчку и форматировать её и разукрашивать есн-но ооочень долго. А вот через вышепредложенный механизм очень даже быстро. Вот и приходится изворачиваться..... Разукрашивать Excel через OLE можно не намного медленее, чем нативно (через макрос). Excel дольше генерит уникальные структуры стилей, чем применяет форматирование, как через OLE, так и нативно. А переброска данных... Через массивы в эксель можно забрасывать данные со свистом. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2009, 14:12 |
|
Проблема с Макросами
|
|||
---|---|---|---|
#18+
dima-k5, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2009, 14:54 |
|
|
start [/forum/topic.php?fid=41&fpage=120&tid=1586180]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
93ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 187ms |
0 / 0 |