powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Линии в EXCEL
8 сообщений из 8, страница 1 из 1
Линии в EXCEL
    #35553594
Лисонька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Леди и джентльмены!
Я передаю данные в EXCEL:
Код: plaintext
1.
2.
3.
m.loExcel.Cells( 2 , 1 ).Value =cnВыраж1
m.loExcel.Cells(lnСтрока, 2 ).Value = cnВыраж2
m.loExcel.Cells(lnСтрока, 2 ).Value = cnВыраж3
.... ... ...
А как эту строку сделать, чтобы данная строка (каждая ячейка) была обрамлена линиями?
Благодарю
...
Рейтинг: 0 / 0
Линии в EXCEL
    #35553652
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так примерно
Код: plaintext
1.
2.
for i =  7  to  12 
	m.loExcel.Cells(lnСтрока, 2 ).Borders(i).LineStyle =  1 
endfor

Можно сразу диапазон ячеек (так быстрее)
Код: plaintext
1.
2.
for i =  7  to  12 
	m.loExcel.Range(m.loExcel.Cells( 1 , 1 ), m.loExcel.Cells( 10 , 10 )).Borders(i).LineStyle =  1 
endfor
...
Рейтинг: 0 / 0
Линии в EXCEL
    #35553808
Лисонька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, спасибо! Все работает, вставила в свой код.
Только объясните, пожалуйста, значение переменной i, принимающей значение именно от 7 до 12. Я ставила строку без цикла, меняла значение i. Соответственно отображались разные линии.
Почему именно от 7 до 12?
...
Рейтинг: 0 / 0
Линии в EXCEL
    #35553871
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛисонькаПочему именно от 7 до 12?
Выведено опытным путем :)

Запускаешь в экселе макрорекордер (Сервис-Макрос-Начать запись), делаешь нужные действия, останавливаешь запись, жмешь Alt+F11 и смотришь код который он нагенерил (раздел "Modules")
В случае разлиновки что-то типа:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
    Range("D7:G15").Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
...
Чтобы узнать значения экселевских констант (xlEdgeLeft, xlEdgeTop и т.д.) на них правой кнопкой и "Quick Info", вот и получилось что от 7 до 12
...
Рейтинг: 0 / 0
Линии в EXCEL
    #35553904
Лисонька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Классно! )))))))))))))
А нет ли ссылочки, где можно было бы посмтотреть еще такие детали о передаче данных в EXCEL, как:размер и тип шрифта, его цвет и т.п. Или тоже можнов макрорекордере.
И еще. Никак не получается код обработки ошибки, когда пытаешься передать данные в EXCEL, а этот документ уже открыт.
...
Рейтинг: 0 / 0
Линии в EXCEL
    #35553939
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лисонька Или тоже можнов макрорекордере.
Нужно в макрорекордере. Запускаешь запись, делаешь руками нужные тебе действия, останавливаешь, смотришь что он понаписал и переносишь код в фокс.

ЛисонькаИ еще. Никак не получается код обработки ошибки, когда пытаешься передать данные в EXCEL, а этот документ уже открыт.
Если VFP9 то TRY ... CATCH лучше всего

Я обычно делаю немного по другому. Сначала все во временный текстовый файл с разделителями табуляциями, потом его открываем в экселе, наводим красоту и сохраняем:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
	loEx = newobject("Excel.Application")
	with loEx
		.Workbooks.OpenText(fullpath(lcF),  2 ,  1 ,  1 , - 4142 , .F., .T., .F., .F., .F., .F.) && lcF имя текстового файла
... форматирование
		lcFile = '....xls'
		try
			if file(lcFile)
				delete File (lcFile)
			endif
			.ActiveWorkbook.SaveAs(lcFile, - 4143 )
			.ActiveWorkbook.Close()
			delete File (lcF)
		catch
			MessageBox('Не удалось сохранить в файл ' + lcFile)
			.Visible = .T.
		endtry

...
Рейтинг: 0 / 0
Линии в EXCEL
    #35553960
Лисонька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Благодарю всех, всех, всех!

Елизавета Скрунскайте
...
Рейтинг: 0 / 0
Линии в EXCEL
    #35554118
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Линии в EXCEL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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