| Автор | Сообщение |
|
|
| |
Пост N: 2372
Зарегистрирован: 17.05.05
|
|
Отправлено: 21.05.12 16:52. Заголовок: Снова EXCEL (продолжение)
Ранее с Excel из Harbour ни когда не работал. Поставили тут задачу. У некоторых поставщиков есть определенные формы заказов. Набраны они в Excel. Сейчас народ руками заполняет эти формы и шлет по электронке поставщикам. Задача сводится к тому что бы в этих формах находить нужные коды товара и в нужной ячейке проставлять заказ. Может ткнет кто носом с чего начать что бы не напороться на грабли. Спасибо Сами формы тут http://zalil.ru/33279066
|
 |

|
|
Ответов - 130
, стр:
1
2
3
4
5
6
7
All
[только новые]
|
|
|
|
| |
Пост N: 391
Зарегистрирован: 05.10.06
|
|
Отправлено: 01.06.26 17:15. Заголовок: Dima пишет: сразу в..
Dima пишет: ну правильно, вопрос то был как вызвать какое то действие при открытии книги... Можно передать управление Excel, а можно управлять Харбуром
|
 |

|
|
|
| |
Пост N: 392
Зарегистрирован: 05.10.06
|
|
Отправлено: 01.06.26 17:16. Заголовок: Dima пишет: Я было ..
Dima пишет: | цитата: | Я было пытался подгрузить макрос такой из строки...но сколько не бился ни чего не получилось и бросил это дело |
|
как внедрить код VBA в книгу я не знаю, но ты можешь предварительно сохранить набор нужных функций в самой книге и навесить вызов на нужные кнопки
|
 |

|
|
|
| |
Пост N: 8329
Зарегистрирован: 17.05.05
|
|
Отправлено: 01.06.26 17:22. Заголовок: MIKHAIL пишет: но т..
MIKHAIL пишет: | цитата: | | но ты можешь предварительно сохранить набор нужных функций в самой книге |
| как это сделать средствами Harbour ?
|
 |

|
|
|
| |
Пост N: 393
Зарегистрирован: 05.10.06
|
|
Отправлено: 01.06.26 17:29. Заголовок: Dima пишет: как это..
Dima пишет: | цитата: | | как это сделать средствами Harbour ? |
|
я не знаю, копай в сторону как выполнить внешний макрос VBA Excel, я ручками готовил шаблон файла, который содержал нужные мне VBA функции, заполнял его данными и работал уже с ним интерактивно в самом Excel... Не вполне понимаю зачем тебе понадобилось из Харбура исполнять какие то интерфейсные функции. Для меня смысл Excel что ты можешь передать управление кодом другому пользователю не связанного с твоей программой и он может работать с твоими данными абстрактно в любом месте и взаимодействовать через интерфейс Excel. А у тебя потребность это делать через твою программу ??? Я думаю внедрение внешнего скрипта в книгу, связано с ограничениями безопасности, наверное это не так просто...
|
 |

|
|
|
| |
Пост N: 8330
Зарегистрирован: 17.05.05
|
|
Отправлено: 01.06.26 17:39. Заголовок: я тебя понял, спасиб..
я тебя понял, спасибо. просто было время у меня на спортивный интерес к этой теме и всё MIKHAIL пишет: | цитата: | | Не вполне понимаю зачем тебе понадобилось из Харбура исполнять какие то интерфейсные функции |
| ну например...строим какой то отчет и нужно указать условия расчета и одно из условий списком и позиций может быть больше одной, в этом случае можно использовать (как вариант) oExcel:ActiveSheet:ListBoxes или oExcel:ActiveSheet:DropDowns и для их заполнения процедуры VB не нужны, всё заполняется через Harbour
|
 |

|
|
|
| |
Пост N: 394
Зарегистрирован: 05.10.06
|
|
Отправлено: 01.06.26 17:41. Заголовок: Dima вот что ИИ пише..
Dima вот что ИИ пишет: Скрытый текст Через COM‑автоматизацию (IDispatch) Позволяет программно добавлять модули и код VBA в книгу Excel из внешнего приложения (C#, VB.NET, Python и т. д.). Что нужно: запущенный процесс Excel (или его запуск через COM); доступ к коллекции VBProject книги; права на работу с VBA‑проектами (настройка «Доверять доступ к объектной модели проектов VBA»). Пример на C#: csharp using Excel = Microsoft.Office.Interop.Excel; var excelApp = new Excel.Application(); excelApp.Visible = true; var workbook = excelApp.Workbooks.Add(); // Получаем доступ к VBA‑проекту var vbProject = workbook.VBProject; var vbModule = vbProject.VBComponents.Add(vbext_ComponentType.vbext_ct_StdModule); // Добавляем код VBA vbModule.CodeModule.AddFromString( ( "Sub HelloFromAPI()" + " MsgBox \"Привет, я внедрён через API!\"" + "End Sub" ); // Выполняем макрос excelApp.Run("HelloFromAPI");
| Dima пишет: | цитата: | | всё заполняется через Harbour |
| Все равно не понятно, если отчет строиться и заполняется в Харбур, зачем подключать интерфейс Excel? почему нельзя задавать все параметры в твоей проге ?
|
 |

|
|
|
| |
Пост N: 8331
Зарегистрирован: 17.05.05
|
|
Отправлено: 01.06.26 17:49. Заголовок: MIKHAIL пишет: поче..
MIKHAIL пишет: | цитата: | почему нельзя задавать все параметры в твоей проге ? |
| так они там и задаются )) щефы (начальство) они разные бывают и хотя видеть условия расчета в самом отчете....и что мне надо было шефу отказать ? 
|
 |

|
|
|
| |
Пост N: 8332
Зарегистрирован: 17.05.05
|
|
Отправлено: 01.06.26 17:50. Заголовок: MIKHAIL пишет: AddF..
MIKHAIL пишет: копал я этот AddFromString , не вышло, бросил ))
|
 |

|
|
|
| |
Пост N: 395
Зарегистрирован: 05.10.06
|
|
Отправлено: 01.06.26 17:54. Заголовок: Dima пишет: хотя ви..
Dima пишет: | цитата: | хотя видеть условия расчета в самом отчете |
|
еще раз повторюсь, добавь в шаблон нужный VBA скрипт для интерфейсных операций, сохрани книгу как шаблон, создавай отчет на основе шаблона, вызывай сохраненные в VBA функции для получения нужных данных...
|
 |

|
|
|
| |
Пост N: 8333
Зарегистрирован: 17.05.05
|
|
Отправлено: 01.06.26 17:56. Заголовок: MIKHAIL :sm36:..
MIKHAIL 
|
 |

|
|
Ответов - 130
, стр:
1
2
3
4
5
6
7
All
[только новые]
|
|