|
VBS, форматирование ячеек Excel
|
|||
---|---|---|---|
#18+
Всем доброго времени суток! Нужна Ваша помощь, коллеги. Работаю в БК (БОСС-кадровик), работа над формированием отчета, как я понял - на vbs. Сильно не пинайте, раньше никогда с БК не работал. На текущий момент имеется следующий код: Код: vbnet 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.
В итоге я получаю excel-файл, который сразу открывается и заполнен данными, которые получает запрос. Заполняю начиная со второй строки (первая строка нечто вроде шапки). Получаю в итоге что-то вроде такой таблицы в excel: шапка шапка шапка шапка шапка 11111 11111 11111 ааааа ааааа 11111 11111 11111 ааааа ааааа 22222 22222 22222 ааааа ааааа 22222 22222 22222 ааааа ааааа 22222 22222 22222 ааааа ааааа 33333 33333 33333 ааааа ааааа 33333 33333 33333 ааааа ааааа Нужно ее переформатировать вот в такой вид: шапка шапка шапка шапка шапка 11111 11111 11111 ааааа ааааа ааааа ааааа 22222 22222 22222 ааааа ааааа ааааа ааааа ааааа ааааа 33333 33333 33333 ааааа ааааа ааааа ааааа Т.е. если в первом, втором и третьем столбце значение совпадает с предыдущим - то ячейки 1го, 2го и 3го столбце в этой строке очистить. И так до конца документа. Каким образом можно подобное реализовать? Заранее благодарю за ответ. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2016, 14:05 |
|
VBS, форматирование ячеек Excel
|
|||
---|---|---|---|
#18+
gamadjoНужно ее переформатировать вот в такой вид: шапка шапка шапка шапка шапка 11111 11111 11111 ааааа ааааа ааааа ааааа 22222 22222 22222 ааааа ааааа ааааа ааааа ааааа ааааа 33333 33333 33333 ааааа ааааа ааааа ааааа Не знал, что пробелы удалятся. Вот такой должен быть результаты: шапка шапка шапка шапка шапка 11111 11111 11111 ааааа ааааа _____ _____ _____ ааааа ааааа 22222 22222 22222 ааааа ааааа _____ _____ _____ ааааа ааааа _____ _____ _____ ааааа ааааа 33333 33333 33333 ааааа ааааа _____ _____ _____ ааааа ааааа ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2016, 14:08 |
|
VBS, форматирование ячеек Excel
|
|||
---|---|---|---|
#18+
gamadjoесли в первом, втором и третьем столбце значение совпадает с предыдущим - то ячейки 1го, 2го и 3го столбце в этой строке очистить. И так до конца документа. Каким образом можно подобное реализовать? Ну пробегите по таблице, сравнивая, и где надо - зачищая. Будет нечто типа Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2016, 14:50 |
|
VBS, форматирование ячеек Excel
|
|||
---|---|---|---|
#18+
Akina , Вы просто чудо! То, что нужно и это работает. Разве что пришлось убрать объявления типов данных, т.к. vbs сам справляется :) Тогда понаглею еще чутка, не очень понимаю просто сам пока что. Как можно теперь, обвести в рамку (просто границу сделать excelевскую) вокруг каждого "блока". Что-то вроде такого (цитата - граница): шапка шапка шапка шапка шапка автор11111 11111 11111 ааааа ааааа _____ _____ _____ ааааа ааааа автор22222 22222 22222 ааааа ааааа _____ _____ _____ ааааа ааааа _____ _____ _____ ааааа ааааа автор33333 33333 33333 ааааа ааааа _____ _____ _____ ааааа ааааа ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2016, 15:12 |
|
VBS, форматирование ячеек Excel
|
|||
---|---|---|---|
#18+
И изначально, всю таблицу "обвести", сколько бы там ни было строк - до конца, включая "шапку". ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2016, 15:13 |
|
VBS, форматирование ячеек Excel
|
|||
---|---|---|---|
#18+
Примерно наверное вот такого? Код: vbnet 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.
[/quot] ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2016, 15:55 |
|
VBS, форматирование ячеек Excel
|
|||
---|---|---|---|
#18+
Забыл впихнуть под кат. Простите. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2016, 15:55 |
|
VBS, форматирование ячеек Excel
|
|||
---|---|---|---|
#18+
gamadjoпришлось убрать объявления типов данных, т.к. vbs сам справляется Лучше определить явно. А то VBS запросто может определить переменные как Integer, и если строк окажется дофига, получишь Overflow. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2016, 16:10 |
|
VBS, форматирование ячеек Excel
|
|||
---|---|---|---|
#18+
Снова ругается на типы, я убрал. Первые два - никаких проблем. С третьим, r as range проблемы были. Переписал таким образом (просто подставил) - не работает. Ошибка "Неизвестная ошибка выполнения" Код: vbnet 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2016, 16:11 |
|
VBS, форматирование ячеек Excel
|
|||
---|---|---|---|
#18+
Akinagamadjoпришлось убрать объявления типов данных, т.к. vbs сам справляется Лучше определить явно. А то VBS запросто может определить переменные как Integer, и если строк окажется дофига, получишь Overflow. В БК он тупо не дает явно определять и всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2016, 16:12 |
|
VBS, форматирование ячеек Excel
|
|||
---|---|---|---|
#18+
gamadjoОшибка "Неизвестная ошибка выполнения" Хотя бы на каком операторе? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2016, 16:37 |
|
VBS, форматирование ячеек Excel
|
|||
---|---|---|---|
#18+
Вот так работает: Код: vbnet 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.
Дело в том, что БК работает видимо только с числовыми значениями типа линии и т.п. Вот здесь брал необходимые https://msdn.microsoft.com/en-us/library/bb241348(v=office.12).aspx Но теперь проблемка в том, что рисует не на 5 столбцов рамку, а на 8. По строкам все чудно. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2016, 17:19 |
|
VBS, форматирование ячеек Excel
|
|||
---|---|---|---|
#18+
gamadjoрисует не на 5 столбцов рамку, а на 8На сколько сказал, на столько и рисует. Распечатай буржуйский алфавит и отсчитай сколько надо... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2016, 19:12 |
|
VBS, форматирование ячеек Excel
|
|||
---|---|---|---|
#18+
Akinagamadjoрисует не на 5 столбцов рамку, а на 8На сколько сказал, на столько и рисует. Распечатай буржуйский алфавит и отсчитай сколько надо... Да, точно, извиняюсь, совсем туплю. Но теперь ситуация следующая - он первый блок обводит весь, как надо, а второй и все последующие, обводит и первую строку, и все остальное, т.е. можно сказать двумя рамками. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2016, 08:25 |
|
VBS, форматирование ячеек Excel
|
|||
---|---|---|---|
#18+
gamadjoНо теперь ситуация следующая - он первый блок обводит весь, как надо, а второй и все последующие, обводит и первую строку, и все остальное, т.е. можно сказать двумя рамками. И я, кажется, понимаю из-за чего: как только попадается блок состоящий из одной строки - счетчик baserow малость сбивается. А вот как исправить, пока не догоняю. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2016, 08:30 |
|
VBS, форматирование ячеек Excel
|
|||
---|---|---|---|
#18+
Отладь ты свой код в Excel VBA по шагам, а по том переноси в скрипт. Сразу и увидишь, что лишнее и чего нехватает. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2016, 08:34 |
|
VBS, форматирование ячеек Excel
|
|||
---|---|---|---|
#18+
gamadjoкак только попадается блок состоящий из одной строки - счетчик baserow малость сбиваетсяСфига бы? блоки он детектит правильно. А вот что ты его используешь в таком особом случае корректно - вот это и решай. Скорее всего, вводом ещё одной переменной. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2016, 08:35 |
|
VBS, форматирование ячеек Excel
|
|||
---|---|---|---|
#18+
AkinaОтладь ты свой код в Excel VBA по шагам, а по том переноси в скрипт. Сразу и увидишь, что лишнее и чего нехватает. Это как? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2016, 09:11 |
|
|
start [/forum/topic.php?fid=60&msg=39343997&tid=2155393]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
others: | 319ms |
total: | 463ms |
0 / 0 |