|
Шаблон Excel ... новый файл?
|
|||
---|---|---|---|
#18+
Как открыть шаблон .xls, заполнить его и результат записать в новый файл .xls оставив шаблон нетронутым? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2010, 16:48 |
|
Шаблон Excel ... новый файл?
|
|||
---|---|---|---|
#18+
YurijAnt, Использовть CREATE OBJECT ... Дальше для созданного объекта использовать методы excel, все что он умеет, открыть файл, заполнить, сохранить под другим именем. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2010, 16:57 |
|
Шаблон Excel ... новый файл?
|
|||
---|---|---|---|
#18+
Делаю так: PROCEDURE mExcel_I PARAMETERS mStr, mKol, mFile, sFile oleApp = createobject("Excel.Application") oleApp.Workbooks.Open(mFile) oleItem = oleApp.Workbooks.Item(1) oleItem.Sheets.Item(1).Columns(7).NumberFormat = "@" oleItem.Sheets.Item(1).Columns(6).WrapText = .T. GO TOP SCAN oleItem.Sheets.Item(1).Cells(mStr, mKol) .Value = Npp oleItem.Sheets.Item(1).Cells(mStr, mKol+1).Value = Datev oleItem.Sheets.Item(1).Cells(mStr, mKol+2).Value = Dtvp oleItem.Sheets.Item(1).Cells(mStr, mKol+3).Value = Num oleItem.Sheets.Item(1).Cells(mStr, mKol+4).Value = Wmdtypestr oleItem.Sheets.Item(1).Cells(mStr, mKol+5).Value = Nazp oleItem.Sheets.Item(1).Cells(mStr, mKol+6).Value = Ipn oleItem.Sheets.Item(1).Cells(mStr, mKol+7).Value = Zagsum oleItem.Sheets.Item(1).Cells(mStr, mKol+8).Value = Vart7 oleItem.Sheets.Item(1).Cells(mStr, mKol+9).Value = Sum8 oleItem.Sheets.Item(1).Cells(mStr, mKol+10).Value = Vart9 oleItem.Sheets.Item(1).Cells(mStr, mKol+11).Value = Sum10 oleItem.Sheets.Item(1).Cells(mStr, mKol+12).Value = Vart11 oleItem.Sheets.Item(1).Cells(mStr, mKol+13).Value = Sum12 oleItem.Sheets.Item(1).Cells(mStr, mKol+14).Value = Vart13 oleItem.Sheets.Item(1).Cells(mStr, mKol+15).Value = Sum14 mStr=mStr+1 ENDSCAN SUM Zagsum TO oleItem.Sheets.Item(1).Cells(mStr, mKol+7).Value SUM Vart7 TO oleItem.Sheets.Item(1).Cells(mStr, mKol+8).Value SUM Sum8 TO oleItem.Sheets.Item(1).Cells(mStr, mKol+9).Value SUM Vart9 TO oleItem.Sheets.Item(1).Cells(mStr, mKol+10).Value SUM Sum10 TO oleItem.Sheets.Item(1).Cells(mStr, mKol+11).Value SUM Vart11 TO oleItem.Sheets.Item(1).Cells(mStr, mKol+12).Value SUM Sum12 TO oleItem.Sheets.Item(1).Cells(mStr, mKol+13).Value SUM Vart13 TO oleItem.Sheets.Item(1).Cells(mStr, mKol+14).Value SUM Sum14 TO oleItem.Sheets.Item(1).Cells(mStr, mKol+15).Value oleItem.Sheets.Item(1).Rows(mStr).Font.Bold = .T. cCellValue = oleItem.Sheets.Item(1).Cells(1, 1).Value oleApp.DisplayAlerts = .F. oleApp.SaveAs(sFile,1) oleApp.DisplayAlerts = .T. oleApp.Quit nFile-это файл шаблона sFile-это новый файл Выдает ошибку!!! Что не так??? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2010, 17:02 |
|
Шаблон Excel ... новый файл?
|
|||
---|---|---|---|
#18+
Да и как можно убыстрить процес, а то на больших файлах и заснуть можно? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2010, 17:05 |
|
Шаблон Excel ... новый файл?
|
|||
---|---|---|---|
#18+
YurijAnt, На какой команде выдает ошибку? Для скорости, заполняю excel на спрятанном excel приложении, затем активирую его для просмотра. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2010, 17:11 |
|
Шаблон Excel ... новый файл?
|
|||
---|---|---|---|
#18+
oleApp.SaveAs(sFile,1) ---- OLE error code 0x80020006:Unknown name. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2010, 17:22 |
|
Шаблон Excel ... новый файл?
|
|||
---|---|---|---|
#18+
а что такое ,1-? просто .saveas(name_new_excl) работает ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2010, 17:29 |
|
Шаблон Excel ... новый файл?
|
|||
---|---|---|---|
#18+
YurijAnt, Код: plaintext 1.
Может oleApp.Workbooks.SaveAs(sFile,1) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2010, 17:29 |
|
Шаблон Excel ... новый файл?
|
|||
---|---|---|---|
#18+
YurijAntКак открыть шаблон .xls, заполнить его и результат записать в новый файл .xls оставив шаблон нетронутым?Я делаю так: **************************** copy file &shname to &filename1 * копируем шаблон в другой файл * здесь shname - имя шаблона, filename1 - имя нового файла * эти имена я задаю до того * впрочем, реализация может быть и другой ole1 = GetObject(filename1) ole2 = ole1.Application ********************** и далее по накатанной схеме. При этом при зарытии нового файла можно сменить имя. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2010, 18:01 |
|
Шаблон Excel ... новый файл?
|
|||
---|---|---|---|
#18+
YurijAntДа и как можно убыстрить процес, а то на больших файлах и заснуть можно? Код: 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. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107.
В принципе, можно ускорить наполнение RecordSet, если подключиться к таблице по ADO примерно так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Разве что, в последнем случае итоговую строку придется формировать отдельно. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2010, 18:57 |
|
Шаблон Excel ... новый файл?
|
|||
---|---|---|---|
#18+
ВладимирМ огромное спасибо, если подскажите как рамки нарисовать и текст в таблице отцентрировать буду ОЧЕНЬ БЛАГОДАРЕН!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2010, 11:19 |
|
Шаблон Excel ... новый файл?
|
|||
---|---|---|---|
#18+
ВладимирМ и ещё в суммирующей строке отражается типо сумма Npp=0, Datev=00.01.00, Dtvp=00.01.00. Как от этого избавиться? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2010, 11:34 |
|
Шаблон Excel ... новый файл?
|
|||
---|---|---|---|
#18+
YurijAntкак рамки нарисовать и текст в таблице отцентрировать Перевод макроса Excel в синтаксис FoxPro Там и про центрирование и про рамки. YurijAntВладимирМ и ещё в суммирующей строке отражается типо сумма Npp=0, Datev=00.01.00, Dtvp=00.01.00. Как от этого избавиться? Необходимо присвоить этим полям в итоговой строке RecordSet значение NULL. А для этого надо сначала разрешить использовать значение NULL в этом поле. Т.е. код немного изменяется таким образом Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
Обратите внимание, что дополнительный реквизит - это 4 параметр. Т.е. нужна "лишняя" запятая, чтобы отделить 3 необязательный параметр (размер поля в байтах) Как правило, этого достаточно. Новая строка уже будет создана со значениями NULL в этих полях и в Excel будет отображена пустая строка. Но если необходимо, после такого указания можно затереть какое-либо значение значением NULL Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2010, 20:05 |
|
Шаблон Excel ... новый файл?
|
|||
---|---|---|---|
#18+
ВладимирМ ОГРОМНОЕ!!! СПАСИБО!!! ОГРОМНОЕ!!! СПАСИБО!!! ОГРОМНОЕ!!! СПАСИБО!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2010, 15:11 |
|
Шаблон Excel ... новый файл?
|
|||
---|---|---|---|
#18+
YurijAnt, и всё таки несколько слов об использовании шаблона. Используйте именно ШАБЛОН Excelя, т.е. файл с расширением XLT. Тогда открытие новой книги по шаблону будет командой oleApp.Workbooks.Add(mFile), где mFile - полное имя файла шаблона. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2010, 10:53 |
|
|
start [/forum/topic.php?fid=41&fpage=89&tid=1584922]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
134ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
86ms |
get tp. blocked users: |
2ms |
others: | 340ms |
total: | 612ms |
0 / 0 |