Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ActiveX - Excel - Форма / 4 сообщений из 4, страница 1 из 1
29.01.2019, 14:48
    #39766561
AngelOKES
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ActiveX - Excel - Форма
Не могу найти хоть что-нибудь полезное и интересное про работу с Excel через ActiveX
Есть у кого опыт работы с этим?
...
Рейтинг: 0 / 0
29.01.2019, 18:54
    #39766737
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ActiveX - Excel - Форма
Ищите по ключевым словам "OWC" или "SpreadSheet"

Вот, например, https://www.sql.ru/forum/701653-1/help-microsoft-office-spreadsheet-11-0

PS: Я сам с этим не работал. Как-то проще собственно Excel открыть :)
...
Рейтинг: 0 / 0
30.01.2019, 08:31
    #39766837
AngelOKES
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ActiveX - Excel - Форма
ВладимирМ,
Посмотрел я этот объект SpreadSheet, не подходит он мне, я всё больше смотрю в сторону Excel Sheet 12, тут уже полноценный ексель на форме и уже у меня есть опыт работы с ним, но с некоторыми вещами я никак не могу разобраться, поэтому и ищу кого-нибудь, у кого есть опыт. К примеру как настроить масштабирование, чтобы лист полностью визуально был отобображён на форме, очень неудобный интерфейс и ничего не получается, данный туда выгрузить и отобразить могу и дальше я бы уже сам бы воевал, но вот как эту с... поместить ровненько в видимую часть, ну прям никак
...
Рейтинг: 0 / 0
01.02.2019, 10:52
    #39767966
AngelOKES
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ActiveX - Excel - Форма
Почти победил я масштабирование, но всё таки никак не могу подобрать коэффициент правильно, может кто натолкнёт на умную мысль?

Код: sql
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.
37.
38.
39.
40.
41.
Lparameters lnColMax, lnRowMax
Graf1=Thisform.ole1.Object.Sheets(1)
*.PrintArea = Graf1.Cells(1, 1).Address + ":" + Graf1.Cells(iRowMax, iColMax).Address
With Graf1
	If Thisform.ColMax<>0
		lnCol=Thisform.ColMax
		lnRow=Thisform.ColRow
		.Range(.Cells(1,1),.Cells(1,lnCol)).BorderS(-4160).LineStyle = -4142
		.Range(.Cells(lnRow,1),.Cells(lnRow,lnCol)).BorderS(-4107).LineStyle = -4142
		.Range(.Cells(1,1),.Cells(lnRow,1)).BorderS(7).LineStyle = -4142
		.Range(.Cells(1,lnCol),.Cells(lnRow,lnCol)).BorderS(10).LineStyle = -4142
	Endif
	lnCol=lnColMax
	lnRow=lnRowMax
	With .PageSetup
		.PrintArea = "$A$1:$"+COLUMNxls(lnCol)+"$"+Allt(Str(lnRow))
		.Zoom = .F.
		.FitToPagesWide = 1
		.FitToPagesTall = 1
	Endwith
	With Thisform
		.lnWi=Thisform.ole1.Width/lnColMax/7.4
		.lnHe=Thisform.ole1.Height/lnRowMax/1.23
		.ColMax=lnCol
		.ColRow=lnRow
	Endwith
	.Range(.Cells(1,1),.Cells(1,lnCol)).BorderS(-4160).LineStyle = 1
	.Range(.Cells(1,1),.Cells(1,lnCol)).BorderS(-4160).Weight = 4
	.Range(.Cells(lnRow,1),.Cells(lnRow,lnCol)).BorderS(-4107).LineStyle = 1
	.Range(.Cells(lnRow,1),.Cells(lnRow,lnCol)).BorderS(-4107).Weight = 4
	.Range(.Cells(1,1),.Cells(lnRow,1)).BorderS(7).LineStyle = 1
	.Range(.Cells(1,1),.Cells(lnRow,1)).BorderS(7).Weight = 4
	.Range(.Cells(1,lnCol),.Cells(lnRow,lnCol)).BorderS(10).LineStyle = 1
	.Range(.Cells(1,lnCol),.Cells(lnRow,lnCol)).BorderS(10).Weight = 4
	For ii=1 To lnRowMax
		.Rows(ii).RowHeight=Thisform.lnHe
	Endfor
	For ii=1 To lnColMax
		.Columns(ii).ColumnWidth=Thisform.lnWi
	Endfor
Endwith



Вот эти строчки я тут повторю:

Код: sql
1.
2.
		.lnWi=Thisform.ole1.Width/lnColMax/7.4
		.lnHe=Thisform.ole1.Height/lnRowMax/1.23



Не знаю как побобрать правильно, в целом-то нормально всё работает, но хотелось бы чтобы было красиво
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ActiveX - Excel - Форма / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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