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

Подскажите, как удобно реализовать видимость только этой формы, чтобы на не таком большом экранном пространстве можно было их расположить рядом с web и, при переключение на Excel, окно его приложения не перекрывало бы web-интерфейс.
...
Рейтинг: 0 / 0
02.11.2007, 11:44:45
    #34912538
B.T.C.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel - удобная работа с формой
на всякий случай UP
...
Рейтинг: 0 / 0
06.11.2007, 07:04:48
    #34917556
B.T.C.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel - удобная работа с формой
Уточнение, что требуется: приходят различные заполненные списки, данные из которых нужно переносить в другие приложения.
Для удобства их переноса используется просмотр данных через Форму.
Чтобы 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
07.11.2007, 07:28:05
    #34920641
B.T.C.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel - удобная работа с формой
помогите, плз!
...
Рейтинг: 0 / 0
07.11.2007, 08:11:46
    #34920662
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel - удобная работа с формой
В чём помочь? Я лично пока не понял что вы хотите? Может пример в файле выложите и опишите что неполучается сделать.
Например я не понял как можно использовать Форму(Данные -> Форма) автор"Для удобства построчного переноса данных из списка Excel в другое место, реализованное в web-интерфейсе"
...
Рейтинг: 0 / 0
08.11.2007, 09:51:20
    #34923965
Letter_D
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel - удобная работа с формой
Да не, все понятно.
Заполняют ексель данными, глядючи на web.
Надо, чтоб висела форма сверху веба, а само окно екселя не мешалось.
Чтоб окна не переключать постоянно.
Я делал такое для наших операторов так:
Из сторонней vb-программки окно екселя прятал, а форму (bosa_sdm_XL9) делал ТОП.
А по окончанию заполнения всё возвращал.
Так действительно удобно, все радовались. :)
...
Рейтинг: 0 / 0
08.11.2007, 10:17:25
    #34924039
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel - удобная работа с формой
Letter_DДа не, все понятно.
Заполняют ексель данными, глядючи на web.
Надо, чтоб висела форма сверху веба, а само окно екселя не мешалось.
Чтоб окна не переключать постоянно.
Я делал такое для наших операторов так:
Из сторонней vb-программки окно екселя прятал, а форму (bosa_sdm_XL9) делал ТОП.
А по окончанию заполнения всё возвращал.
Так действительно удобно, все радовались. :)
Неее.. если так тады всё ОК, но ведь Аффтор совсем наоборот озвучивал, читай:
B.T.C. Для удобства построчного переноса данных из списка Excel в другое место...
...
Рейтинг: 0 / 0
08.11.2007, 10:29:21
    #34924081
Letter_D
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel - удобная работа с формой
А как же web-интерфейс?
*заволновался*
:)
...
Рейтинг: 0 / 0
08.11.2007, 12:53:25
    #34924725
B.T.C.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel - удобная работа с формой
Letter_D , Вы правильно описали, что требуется!
Будьте добры, поделитесь, пожалуйста vb-программкой!
...
Рейтинг: 0 / 0
09.11.2007, 09:46:42
    #34926995
Letter_D
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel - удобная работа с формой
Код: 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
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel - удобная работа с формой / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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