|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.06.2013, 15:23 | #1 |
Форумчанин
Регистрация: 22.02.2010
Сообщений: 325
|
Обратиться к текущей книге excel из Visual Basic-приложения
Здравствуйте Уважаемые программисты!
Подскажите пожалуйста, как обратиться к ячейке "A1" текущей книги excel из запущенного из этой же книги приложения exe. Поясню: у меня есть приложение "forms.exe" (написано на Visual Basic 2010). В этом приложении есть Form1 с TextBox1. Из книги xls с листа "Лист1" (имя и путь книги меняется) по кнопке запускается мое приложение exe: Sub проба() Dim a a = Shell("c:\forms.exe", 1) End Sub Подскажите пожалуйста как прописать в коде VB2010, чтобы при запуске Form1 в поле TextBox1 считывалось значение с Листа "Лист1" из ячейки "A1" книги xls, из которой и запущено данное приложение exe. Заранее спасибо. |
04.06.2013, 15:52 | #2 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Я думаю может быть нужно как-то так:
Код:
Но я в VB не вникал, т.ч. сори...
webmoney: E265281470651 Z422237915069 R418926282008
|
04.06.2013, 17:18 | #3 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Для такого запуска ваше ехе родителя не имеет,если запущено несколько процессов Excel,вы не сможете однозначно подключиться к нужному.
Возможно имеет смысл прописать некоторве параметры для запуска приложения через командную строку,например полное имя книги. Тогда Sql запросом можно получить необходимые данные. Вариант. Производите поиск в прощессах процесс Excel. Пример здесь Находите активную книгу,лист и с него берете данные. Это не такая уж и простая задача для вас. PS:Вашу конструкцию считаю извратом. Проще тогда обмен через DDE организовать.
Анализ,обработка данных Недорого
Последний раз редактировалось doober; 04.06.2013 в 17:21. |
05.06.2013, 07:36 | #4 |
Форумчанин
Регистрация: 22.02.2010
Сообщений: 325
|
Спасибо за Ваши отклики!
|
05.06.2013, 15:14 | #5 |
Форумчанин
Регистрация: 22.02.2010
Сообщений: 325
|
Я попробовала код в excel:
Sub проба() Dim a a = Shell("c:\forms.exe " & ThisWorkbook.FullName, 1) End Sub при этом в коде forms.exe прописала так: For Each arg As String In My.Application.CommandLineArgs MsgBox(arg) Next в принципе работает. Но появляется несколько msgbox-ов с параметром (т.е. "MsgBox(arg)") , признаком деления которых является пробел в пути к файлу xls. Т.е. если путь c:\новая папка\1.xls - то появляется 1msgbox "c:\новая", затем 2msgbox "папка\1.xls". Подскажите пожалуйста, что можно приписать чтобы в окно выводился сразу весь путь? Заранее спасибо. |
05.06.2013, 15:20 | #6 |
Форумчанин
Регистрация: 22.02.2010
Сообщений: 325
|
Ответ найден.
|
05.06.2013, 17:43 | #7 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Chr(34) добавляли?
webmoney: E265281470651 Z422237915069 R418926282008
|
05.06.2013, 18:11 | #8 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
два раза???
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
06.06.2013, 14:12 | #9 |
Форумчанин
Регистрация: 22.02.2010
Сообщений: 325
|
Получилось следующим образом:
Dim args As String = "" For Each arg As String In My.Application.CommandLineArgs args &= arg & " " Next |
06.06.2013, 14:41 | #10 |
Форумчанин
Регистрация: 22.02.2010
Сообщений: 325
|
Подскажите пожалуйста, как преобразовать string в excel-объект?
Заранее спасибо. |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
макрос Excel Visual Basic | arly123 | Помощь студентам | 0 | 20.04.2013 01:43 |
Visual Basic Microsoft Excel | Людмила. | Помощь студентам | 3 | 23.11.2012 19:51 |
Работа с Visual Basic Editor в Excel. | Muaxaxa | Помощь студентам | 2 | 14.11.2011 16:43 |
Visual Basic интегрированный в Excel | a1b2 | Microsoft Office Excel | 3 | 23.12.2010 19:53 |