Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Импорт из Excel. Несколько копий. / 10 сообщений из 10, страница 1 из 1
08.05.2008, 12:51
    #35302240
demaxx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Импорт из Excel. Несколько копий.
Добрый день!
На PB работаю мало, но задачу надо решить.

Собственно, импортирую из Excel данные в DW. Все нормально импортиться, но ...
Во если время импорта открыть другой excel файл, а потом его закрыть, импорт останавливается и вываливается ошибка импорта. Либо во время импорта, открыть другой excel файл, набить туда чего нибудь, то после завершения импорта, excel пытается закрыться, с предложение о сохранении редактируемого файла.

PB 6.0

Если надо, приведу код.

Подскажите, как решить проблему.

Спасибо.
...
Рейтинг: 0 / 0
10.05.2008, 18:14
    #35304532
alexis glinski
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Импорт из Excel. Несколько копий.
приводи код :)
...
Рейтинг: 0 / 0
10.05.2008, 18:17
    #35304533
alexis glinski
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Импорт из Excel. Несколько копий.
если через OLE коннектишся к Excel, попробуй ConnectToObject вместо ConnectToNewObject.
...
Рейтинг: 0 / 0
12.05.2008, 11:43
    #35305959
demaxx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Импорт из Excel. Несколько копий.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
функция подключения

string		ls_named
integer		li_ret
any			la_value
long			ll_sheet
string		ls_profiles
datawindowchild	dwc

ib_open = FALSE
IF FileExists(as_filename) = FALSE Then
	MessageBox('Ошибка', 'Файл "' + as_filename + '" не найден')
	Return - 1 
End IF
excel = create oleobject
li_ret = excel.connecttonewobject('excel.application')
if li_ret<> 0  then
	messagebox('OLE','Невозможно подключится к OLE-объекту~r~nКод ошибки=' + string(li_ret),stopsign!)
	return - 2 
end if
excel.Visible = FALSE
excel.WorkBooks.Open(as_filename)
ib_open = TRUE
Return  0 

функция отключения

integer		li_ret
IF ib_open Then
	excel.WorkBooks.Close()
	excel.Application.Quit
	li_ret = excel.disconnectobject()
	if li_ret <>  0  then
		messagebox('OLE','Невозможно откключится от OLE-объекта~r~nКод ошибки=' + string(li_ret),stopsign!)
		return
	End IF
End IF 
...
Рейтинг: 0 / 0
12.05.2008, 12:03
    #35306023
demaxx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Импорт из Excel. Несколько копий.
Часть проблемы решил так:
Код: plaintext
excel.WorkBooks('имя_файла.XLS').Close()
Кстати, подскажите, как выделить имя файла из пути (неужели вырезать?)

Т.е. теперь закрывается только тот файл, который импортиться.

Но вот как сделать, чтобы при зыкрытии пользователем его (xls файла) не отваливался весь импорт?

Жду предложений.

Спасибо
...
Рейтинг: 0 / 0
12.05.2008, 12:04
    #35306028
alexis glinski
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Импорт из Excel. Несколько копий.
alexis glinskiесли через OLE коннектишся к Excel, попробуй ConnectToObject вместо ConnectToNewObject .
ну так замени ;)
...
Рейтинг: 0 / 0
12.05.2008, 12:04
    #35306029
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Импорт из Excel. Несколько копий.
demaxx wrote:

> Но вот как сделать, чтобы при зыкрытии пользователем его (xls файла) не
> отваливался весь импорт?

Никак.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
12.05.2008, 12:18
    #35306075
demaxx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Импорт из Excel. Несколько копий.
alexis glinski alexis glinskiесли через OLE коннектишся к Excel, попробуй ConnectToObject вместо ConnectToNewObject .
ну так замени ;)

Заменил, вылетает ошибка
---------------------------
OLE
---------------------------
Невозможно подключится к OLE-объекту

Код ошибки=-6
---------------------------
OK
---------------------------
...
Рейтинг: 0 / 0
12.05.2008, 16:55
    #35307085
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Импорт из Excel. Несколько копий.
demaxx alexis glinski alexis glinskiесли через OLE коннектишся к Excel, попробуй ConnectToObject вместо ConnectToNewObject .
ну так замени ;)

Заменил, вылетает ошибка
---------------------------
OLE
---------------------------
Невозможно подключится к OLE-объекту

Код ошибки=-6
---------------------------
OK
---------------------------
Правильно, потому что Exel не открыт
-6 Filename is not valid
oleobject.ConnectToObject ( filename {, classname } )
Чуешь что написано
...
Рейтинг: 0 / 0
13.05.2008, 11:27
    #35308339
demaxx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Импорт из Excel. Несколько копий.
spas2001 спасибо за помощь.
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Импорт из Excel. Несколько копий. / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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