Автор | Сообщение |
Dima
|
| |
Пост N: 2372
Зарегистрирован: 17.05.05
|
|
Отправлено: 21.05.12 16:52. Заголовок: Снова EXCEL
Ранее с Excel из Harbour ни когда не работал. Поставили тут задачу. У некоторых поставщиков есть определенные формы заказов. Набраны они в Excel. Сейчас народ руками заполняет эти формы и шлет по электронке поставщикам. Задача сводится к тому что бы в этих формах находить нужные коды товара и в нужной ячейке проставлять заказ. Может ткнет кто носом с чего начать что бы не напороться на грабли. Спасибо Сами формы тут http://zalil.ru/33279066
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|
Dima
|
| |
Пост N: 4648
Зарегистрирован: 17.05.05
|
|
Отправлено: 03.04.15 12:29. Заголовок: Неа. Неверный аргуме..
Неа. Неверный аргумент COLORS Ошибка WinOLE/1007 Код DOS ошибки -2147352562 Я еще пробовал ячейку красить так oSheet:Cells(jj,2):Interior:Colors:=RGB(234,234,234) // до лампочки , все равно 25 процентов серого
|
|
|
Haz
|
| |
Пост N: 510
Зарегистрирован: 20.02.11
|
|
Отправлено: 03.04.15 12:31. Заголовок: странно у меня срабо..
странно у меня сработало тестил так oExcel:ActiveWorkbook:Colors(15, RGB(234,100,200) ) oSheet:Cells(1,1):Interior:ColorIndex:=15
|
|
|
Dima
|
| |
Пост N: 4649
Зарегистрирован: 17.05.05
|
|
Отправлено: 03.04.15 12:45. Заголовок: Не фига тогда не пон..
Не фига тогда не понимаю ;) Вот так не компилится OExcel:ActiveWorkbook:Colors(15):=RGB(234,234,234) и вот так не компилится OExcel:ActiveWorkbook:Colors(15):RGB(234,234,234) Компилится только толку ноль от такого вызова OExcel:ActiveWorkbook:Colors(15) Компилится , но в работе падает с ошибкой OExcel:ActiveWorkbook:Colors(15,RGB(234,234,234) )
|
|
|
Haz
|
| |
Пост N: 511
Зарегистрирован: 20.02.11
|
|
Отправлено: 03.04.15 12:49. Заголовок: так тоже сработало ..
так тоже сработало oExcel:ActiveWorkbook:SET("Colors", 15, RGB(234,100,200) ) PS. мож от версии экселя зависит ...
|
|
|
Dima
|
| |
Пост N: 4650
Зарегистрирован: 17.05.05
|
|
Отправлено: 03.04.15 12:51. Заголовок: Haz пишет: oExcel:A..
Haz пишет: цитата: | oExcel:ActiveWorkbook:SET("Colors", 15, RGB(234,100,200) ) |
| Жесть а у меня снова ошибка ОЛИ
|
|
|
Dima
|
| |
Пост N: 4651
Зарегистрирован: 17.05.05
|
|
Отправлено: 03.04.15 12:54. Заголовок: Вероятно дело не в H..
Вероятно дело не в Harbour а в версии EXCEL. У меня 2003
|
|
|
Haz
|
| |
Пост N: 512
Зарегистрирован: 20.02.11
|
|
Отправлено: 03.04.15 13:11. Заголовок: Dima пишет: Вероятн..
Dima пишет: цитата: | Вероятно дело не в Harbour а в версии EXCEL. У меня 2003 |
| и не просто в версии , а можбыть в сборке. На одной работает в 2003 на другой нет , на 2007 вроде везде работает
|
|
|
Haz
|
| |
Пост N: 513
Зарегистрирован: 20.02.11
|
|
Отправлено: 03.04.15 13:14. Заголовок: и так тоже работает ..
и так тоже работает oExcel:Selection:Interior:Color := Rgb(240, 240, 240) только Color , а не ColorS
|
|
|
Dima
|
| |
Пост N: 4652
Зарегистрирован: 17.05.05
|
|
Отправлено: 03.04.15 13:16. Заголовок: Haz Получается что ..
Haz Получается что в моем EXCEL из Harbour я не смогу сменить 15-й ColorIndex на свой цвет
|
|
|
Dima
|
| |
Пост N: 4653
Зарегистрирован: 17.05.05
|
|
Отправлено: 03.04.15 13:17. Заголовок: Haz пишет: oExcel:S..
Haz пишет: цитата: | oExcel:Selection:Interior:Color := Rgb(240, 240, 240) |
| Игорь я писал выше что да такой вызов работает , но заливка получается не Rgb(240, 240, 240) а такая же как с ColorIndex:=15
|
|
|
Haz
|
| |
Пост N: 514
Зарегистрирован: 20.02.11
|
|
Отправлено: 03.04.15 13:18. Заголовок: сможешь, но пока не ..
сможешь, но пока не совсем ясно как . Макрос ведь работает , значит меняет Мож Excelсменить
|
|
|
|
Haz
|
| |
Пост N: 515
Зарегистрирован: 20.02.11
|
|
Отправлено: 03.04.15 13:21. Заголовок: Ты писал через "..
Ты писал через "S" oSheet:Cells(jj,2):Interior:Colors:=RGB(234,234,234) // до лампочки , все равно 25 процентов серого
|
|
|
Haz
|
| |
Пост N: 516
Зарегистрирован: 20.02.11
|
|
Отправлено: 03.04.15 13:22. Заголовок: Сорь, я уехал ..... ..
Сорь, я уехал ..... а Excel смени
|
|
|
Dima
|
| |
Пост N: 4654
Зарегистрирован: 17.05.05
|
|
Отправлено: 03.04.15 13:45. Заголовок: Haz пишет: Ты писал..
Haz пишет: Да то моя очепятка на форуме. В реале без этой буквы. Вот так Interior:Color:=RGB(234,234,234) и заливка получается БЕЛОЙ а не серый 15 %
|
|
|
nick_mi
|
| |
Пост N: 161
Зарегистрирован: 19.05.05
|
|
Отправлено: 03.04.15 14:15. Заголовок: вот так получается с..
вот так получается серой только последние две ячейки obook:sheets(1):cells(2,2):interior():color := RGB(234,234,234) obook:sheets(1):cells(3,3):interior():color := RGB(230,230,230) obook:sheets(1):cells(4,4):interior:color := RGB(225,225,225) obook:sheets(1):cells(5,5):interior:color := RGB(220,220,220) obook:sheets(1):cells(6,6):interior:color := RGB(210,210,210) почему так - хз, наверное, Мелкософт рулит
|
|
|
Dima
|
| |
Пост N: 4655
Зарегистрирован: 17.05.05
|
|
Отправлено: 03.04.15 16:48. Заголовок: Ладно поставим вопро..
Ладно поставим вопрос иначе ;) Имеем макрос в EXCEL вида ActiveWorkbook.Colors(15) = RGB(234, 234, 234) В самом EXCEL он срабатывает правильно и со цветами порядок. Как правильно сказать Harbour что бы такой макрос заработал. EXCEL 2003 1. OExcel:ActiveWorkbook:Colors(15):RGB(234,234,234) // Не компилится Harbour-ом 2. OExcel:ActiveWorkbook:Colors(15, RGB(234,234,234)) // Падает прога с ошибкой WinOLE/1007 3. OExcel:ActiveWorkbook:SET("Colors", 15, RGB(234,234,234)) // Падает прога с ошибкой WinOLE/1007 Есть еще варианты ?
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4098
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.04.15 02:40. Заголовок: Haz пишет: и не про..
Haz пишет: цитата: | и не просто в версии , а можбыть в сборке. На одной работает в 2003 на другой нет , на 2007 вроде везде работает |
| Вопрос может и не совсем в тему, но очень необходим. А как у себя из программы узнать версию EXCEL и WinWord ? Чтобы юзеру в красном окошке сообщить, что может случиться фигня из-за старой версии....
|
|
|
Dima
|
| |
Пост N: 4661
Зарегистрирован: 17.05.05
|
|
Отправлено: 05.04.15 10:29. Заголовок: Andrey пишет: А как..
Andrey пишет: цитата: | А как у себя из программы узнать версию EXCEL |
| ? oExcel:Version // у меня 11 PS 12 - Excel 2007 11 - Excel 2003 10 - Excel 2000 и тд Или так Ob:= win_oleCreateObject("Scripting.FileSystemObject") ? Ob:GetFileVersion(Путь к EXCEL+"excel.exe") Дорогу к EXCEL можно взять в теме
|
|
|
Haz
|
| |
Пост N: 517
Зарегистрирован: 20.02.11
|
|
Отправлено: 05.04.15 12:53. Заголовок: Andrey пишет: А как..
Andrey пишет: цитата: | А как у себя из программы узнать версию EXCEL |
| или вариант посложнее - WMI запрос к системе SELECT VERSION FROM Win32_Product WHERE Caption Like '%EXCEL%' PS. примеры WMI в минигуи ЕСТЬ
|
|
|
Dima
|
| |
Пост N: 4662
Зарегистрирован: 17.05.05
|
|
Отправлено: 05.04.15 14:23. Заголовок: Haz пишет: или вари..
Haz пишет: цитата: | или вариант посложнее - WMI запрос к системе |
| Или так OLocator:=CreateObject("wbemScripting.SwbemLocator") oWMI:= oLocator:ConnectServer() arr:=oWMI:ExecQuery("SELECT * FROM Win32_Product") for each oitem in arr if hb_at("Microsoft Office",oitem:Name)>0 if hb_at("2003",oitem:Name)>0 ? 2003 elseif hb_at("2007",oitem:Name)>0 ? 2007 elseif hb_at("2010",oitem:Name)>0 ? 2010 endif endif next
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|