powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel - удобная работа с формой
10 сообщений из 10, страница 1 из 1
Excel - удобная работа с формой
    #34862026
B.T.C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для удобства построчного переноса данных из списка Excel в другое место, реализованное в web-интерфейсе, используется режим представления формы (Данные -> Форма)

Подскажите, как удобно реализовать видимость только этой формы, чтобы на не таком большом экранном пространстве можно было их расположить рядом с web и, при переключение на Excel, окно его приложения не перекрывало бы web-интерфейс.
...
Рейтинг: 0 / 0
Excel - удобная работа с формой
    #34912538
B.T.C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
на всякий случай UP
...
Рейтинг: 0 / 0
Excel - удобная работа с формой
    #34917556
B.T.C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уточнение, что требуется: приходят различные заполненные списки, данные из которых нужно переносить в другие приложения.
Для удобства их переноса используется просмотр данных через Форму.
Чтобы Excel при открытой Форме не перегораживал приложение, его нужно заранее сворачивать в панель задач.

Проблема в том, что сами списки поступают из разных мест, и не всегда они организованы предсказуемо - нередко бывает, что сам список отделен от начала листа несколькими пустыми строками/столбцами

Нашел статью на MS, где описан такой случай: http://support.microsoft.com/kb/213835

Набросал на ее основе макрос:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Sub test()

Dim rng As Range

Set rng = ActiveSheet.UsedRange

ActiveWorkbook.Names.Add Name:=ActiveSheet.Name & _
    "!Database", RefersTo:=rng

ActiveWorkbook.Names("Database").RefersTo = rng

Application.WindowState = xlMinimized

ActiveSheet.ShowDataForm

End Sub
но почемуто если есть более одной пустой строки/столбца от списка, то возникает та же ошибка 1004 :(

Потом вспомнил, что в Excel >=2002 появилась возможность специального создания списков
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Sub ShowDataForm()

    ActiveSheet.ListObjects.Add(xlSrcRange, ActiveSheet.UsedRange, , xlYes).Name = _
        "List_1"
    ActiveSheet.ListObjects("List_1").Unlist
        
    Application.WindowState = xlMinimized

    ActiveSheet.ShowDataForm
End Sub
но проблема 1004 осталось :(

Помогите - поправте, если есть ошибки!
...
Рейтинг: 0 / 0
Excel - удобная работа с формой
    #34920641
B.T.C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
помогите, плз!
...
Рейтинг: 0 / 0
Excel - удобная работа с формой
    #34920662
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В чём помочь? Я лично пока не понял что вы хотите? Может пример в файле выложите и опишите что неполучается сделать.
Например я не понял как можно использовать Форму(Данные -> Форма) автор"Для удобства построчного переноса данных из списка Excel в другое место, реализованное в web-интерфейсе"
...
Рейтинг: 0 / 0
Excel - удобная работа с формой
    #34923965
Letter_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да не, все понятно.
Заполняют ексель данными, глядючи на web.
Надо, чтоб висела форма сверху веба, а само окно екселя не мешалось.
Чтоб окна не переключать постоянно.
Я делал такое для наших операторов так:
Из сторонней vb-программки окно екселя прятал, а форму (bosa_sdm_XL9) делал ТОП.
А по окончанию заполнения всё возвращал.
Так действительно удобно, все радовались. :)
...
Рейтинг: 0 / 0
Excel - удобная работа с формой
    #34924039
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Letter_DДа не, все понятно.
Заполняют ексель данными, глядючи на web.
Надо, чтоб висела форма сверху веба, а само окно екселя не мешалось.
Чтоб окна не переключать постоянно.
Я делал такое для наших операторов так:
Из сторонней vb-программки окно екселя прятал, а форму (bosa_sdm_XL9) делал ТОП.
А по окончанию заполнения всё возвращал.
Так действительно удобно, все радовались. :)
Неее.. если так тады всё ОК, но ведь Аффтор совсем наоборот озвучивал, читай:
B.T.C. Для удобства построчного переноса данных из списка Excel в другое место...
...
Рейтинг: 0 / 0
Excel - удобная работа с формой
    #34924081
Letter_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как же web-интерфейс?
*заволновался*
:)
...
Рейтинг: 0 / 0
Excel - удобная работа с формой
    #34924725
B.T.C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Letter_D , Вы правильно описали, что требуется!
Будьте добры, поделитесь, пожалуйста vb-программкой!
...
Рейтинг: 0 / 0
Excel - удобная работа с формой
    #34926995
Letter_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function ShowWindow Lib "user32" Alias "ShowWindowAsync" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Dim hwnd1, hwnd2
Const SWP_NOMOVE =  2 
Const SWP_NOSIZE =  1 
Const HWND_TOPMOST = - 1 
Const HWND_NOTOPMOST = - 2 
Const SW_SHOW =  5 
Const SW_HIDE =  0 

Private Sub Command1_Click()
    hwnd1 = FindWindow("XLMAIN", vbNullString)
    hwnd2 = FindWindow("bosa_sdm_XL9", vbNullString)
ShowWindow hwnd1, SW_HIDE
SetWindowPos hwnd2, HWND_TOPMOST,  0 ,  0 ,  0 ,  0 , SWP_NOMOVE + SWP_NOSIZE
End Sub

Private Sub Command2_Click()
ShowWindow hwnd1, SW_SHOW
SetWindowPos hwnd2, HWND_NOTOPMOST,  0 ,  0 ,  0 ,  0 , SWP_NOMOVE + SWP_NOSIZE
End Sub

Примерно так.
Ексель запустить, форму показать, далее - кнопка1 в сторонней программе. По окончании работы - кнопка2.
Класс "bosa_sdm_XL9" может называться по другому в зависимости от версии офиса. Надо выяснять.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel - удобная работа с формой
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]