| Автор | Сообщение |
|
|
| постоянный участник
|
Пост N: 4144
Зарегистрирован: 12.09.06
|
|
Отправлено: 28.04.15 22:50. Заголовок: Вопрос по Excel ?
Всем привет. Вопрос к знатокам Excel-я, как подсчитать сумму ВСЕХ значений с минусом и с плюсом ? 
|
 |

|
|
Ответов - 194
, стр:
1
2
3
4
5
6
7
8
9
10
All
[только новые]
|
|
|
|
| |
Пост N: 111
Зарегистрирован: 18.06.15
|
|
Отправлено: 29.12.25 08:21. Заголовок: Dima пишет: Alex_Ch..
Dima пишет: Дима, ничего не работает ..... oExcel := win_oleCreateObject( "Excel.Application" ) oWorkBook := oExcel:WorkBooks:open(hb_dirbase()+"test.xls") oExcel:DisplayAlerts := .f. oExcel:Visible := .T. hwnd:=oexcel:hwnd ? ISWINDOW(hwnd) // возвращает FALSE wait POSTMESSAGE(hwnd,WM_CLOSE,0,0) // окно закрывает, Excel в памяти остается ....
|
 |

|
|
|
| |
Пост N: 8228
Зарегистрирован: 17.05.05
|
|
Отправлено: 29.12.25 10:01. Заголовок: Alex_Cher Harbour у..
Alex_Cher Harbour у тебя очень древний ?
|
 |

|
|
|
| |
Пост N: 112
Зарегистрирован: 18.06.15
|
|
Отправлено: 29.12.25 11:01. Заголовок: Dima пишет: Harbour..
Dima пишет: | цитата: | | Harbour у тебя очень древний ? |
| Harbour MiniGUI Extended Edition 24.12 (Standard) - больше не обновляюсь, в дальнейших версиях в название версии появилось название debugger и некоторые фукции перестали работать ....
|
 |

|
|
|
| |
Пост N: 113
Зарегистрирован: 18.06.15
|
|
Отправлено: 29.12.25 17:16. Заголовок: Alex_Cher пишет: Ha..
Alex_Cher пишет: | цитата: | | Harbour у тебя очень древний ? |
| Установил - Harbour MiniGUI Extended Edition 25.11 (Standard) тоже самое, ничего не работает .....
|
 |

|
|
|
| |
Пост N: 8229
Зарегистрирован: 17.05.05
|
|
Отправлено: 29.12.25 18:01. Заголовок: Alex_Cher пишет: н..
Alex_Cher пишет: я тогда пасс....у меня работает отлично как вариант попробуй как советовал HAS чуть выше в этой теме
|
 |

|
|
|
| |
Пост N: 2027
Зарегистрирован: 20.02.11
|
|
Отправлено: 29.12.25 19:00. Заголовок: Dima пишет: меня ра..
Dima пишет: Дим, тут скорее-всего не версии harbour дело. Тут не ясно что за сборка винды и офиса под нее. 100 раз проходил , стоит переустановить что то из этой парочки другой сборкой и вопрос отпадает. По моему методу все тоже просто 1 по хендлу окна получаем id процесса 2 рубим процесс по его id я использовал wmi, хотя можно чем угодно снять
|
 |

|
|
|
| |
Пост N: 8230
Зарегистрирован: 17.05.05
|
|
Отправлено: 29.12.25 19:08. Заголовок: Haz Ты прав, у него..
Haz Ты прав, у него даже это не сработало POSTMESSAGE(hwnd,WM_CLOSE,0,0) у меня норм. Поэтому да через WMI будет нормально. PS А был ли мальчик...я про oExcel:Hwnd, возможно там тоже глухо
|
 |

|
|
|
| |
Пост N: 114
Зарегистрирован: 18.06.15
|
|
Отправлено: 30.12.25 13:10. Заголовок: Dima пишет: А был л..
Dima пишет: - может мальчика то и не было ... М.Горький роман "Жизнь Клима Самгина". Мужики, спасибо за посильную помощь ... С наступающим вас, счастья, здоровья, успехов в работе ...
|
 |

|
|
|
| |
Пост N: 8231
Зарегистрирован: 17.05.05
|
|
Отправлено: 30.12.25 18:50. Заголовок: Alex_Cher что возвра..
Alex_Cher что возвращает у тебя oexcel:hwnd ? должно быть число, что то типа 196832
|
 |

|
|
|
| постоянный участник
|
Пост N: 4865
Зарегистрирован: 17.02.12
|
|
Отправлено: 30.12.25 21:03. Заголовок: Получить hWnd можно ..
Получить hWnd можно из массива aWnd := EnumWindows() и сравнить с oExcel:hWnd, в примерах есть код применения ф-ии
|
 |

|
|
|
| |
Пост N: 115
Зарегистрирован: 18.06.15
|
|
Отправлено: 31.12.25 07:33. Заголовок: SergKis пишет: что ..
SergKis пишет: | цитата: | что возвращает у тебя oexcel:hwnd ? должно быть число, что то типа 196832 |
| возважает различные числа - 459900.00 , потом при новом запуске программы 1180746.00 и т.д...
|
 |

|
|
|
|
|
| постоянный участник
|
Пост N: 4866
Зарегистрирован: 17.02.12
|
|
Отправлено: 31.12.25 08:54. Заголовок: Alex_Cher Попробуйт..
Alex_Cher Попробуйте применить схему (у меня для VLC применяется), вместо hVlc используйте hExcel := oExcel:hWnd или получением hExcel из массива aWnd := EnumWindows(), код работает с 2015 года Скрытый текст
STATIC FUNCTION VlcClose( lLog, lClose ) LOCAL nVlc := 0, nProc, nThread LOCAL hVlc := VlcHandle( lLog ) Default lClose := .T. IF lClose .and. ! Empty( hVlc ) DO EVENTS ; PostMessage(hVlc, WM_CLOSE, 0, 0) DO EVENTS ; InkeyGui(20) VlcIs() hVlc := VlcHandle( lLog ) ENDIF IF ! Empty( hProcessVLC ) .and. ! Empty( hVlc ) GetWindowThreadProcessId( hVlc, @nThread, @nProc ) TerminateProcess ( nProc ) ; DO EVENTS ; InkeyGui(20) VlcIs() ; DO EVENTS hVlc := VlcHandle( lLog ) IF ! Empty( hVlc ) GetWindowThreadProcessId( hVlc, @nThread, @nProc ) TerminateProcess ( nProc ) ; DO EVENTS ; InkeyGui(20) VlcIs() ; DO EVENTS ENDIF hProcessVLC := 0 ENDIF IF ! Empty( hVlc := VlcHandle( lLog ) ) ; VlcIs() ENDIF hHandlesVLC := 0 RETURN Empty( VlcHandle( lLog ) )
|
|
 |

|
|
|
| |
Пост N: 116
Зарегистрирован: 18.06.15
|
|
Отправлено: 02.01.26 14:14. Заголовок: Haz пишет: 1 по хен..
Haz пишет: | цитата: | 1 по хендлу окна получаем id процесса 2 рубим процесс по его id я использовал wmi, хотя можно чем угодно снять |
| никто примером с использования WMI не поделиться ?
|
 |

|
|
|
| |
Пост N: 8232
Зарегистрирован: 17.05.05
|
|
Отправлено: 02.01.26 14:53. Заголовок: Alex_Cher есть в эт..
|
 |

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