Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Может заодно подскажите почему ??  [new]
Lipton
Member

Откуда: Дудинка
Сообщений: 56
Подскажите почему... нарисовал документ, и подготовил таблицу для нормальной печати, не могу вывести поля и все , что делать, вот пример кода
, что не так???

#include excel.h
#define true .T.
#define false .F.
#define RPT_FONTSIZE 9
#define RPT_FONTNAME "Arial Narrow"


&& Открываем готовую таблицу под репорт
USE dbfs\report_out.dbf
SELECT report_out

&& Создаем объект в Ексель
LOCAL loExcel,lcOldError,lcRange,lnSheets,lnCounter
WAIT WINDOW NOWAIT 'Íà÷èíàåòñÿ Excel...'

lcOldError = ON("ERROR")
ON ERROR loExcel= .NULL.
loExcel=GETOBJECT(,"Excel.Application")
ON ERROR &lcOldError

IF ISNULL(loExcel)
loExcel=CREATEOBJECT("Excel.Application")
ENDIF
&& Ñîçäàëè îáúåêò Excel
WITH loExcel
.WorkBooks.Add
.DisplayAlerts=False
&& оставляю один лист
lnSheets=.Sheets.Count
FOR lnCounter=1 TO lnSheets-1
.Sheets(1).Delete
ENDFOR
&& переименую его
WITH .Sheets(1)
.Select
.Name = 'Лист №'
ENDWITH
&&Рисую загоовок
WITH .Range('F1:L1')
.MergeCells=.T.
.Value='Свод по БЕЗНАЛИЧНОМУ РАСЧЕТУ за'
WITH .Font
.Bold = .T.
.Size = 12
ENDWITH
ENDWITH

WITH .Range('A3')
.MergeCells=.T.
.Value=код пред.'
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
WITH .Font
.Bold = .T.
.Size = 8
ENDWITH
ENDWITH

WITH .Range('B3')
.MergeCells=.T.
.Value='Сальдо вх.'
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
WITH .Font
.Bold = .T.
.Size = 8
ENDWITH
ENDWITH

WITH .Range('C3')
.MergeCells=.T.
.Value='Кредит 6218'
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
WITH .Font
.Bold = .T.
.Size = 8
ENDWITH
ENDWITH

WITH .Range('D3')
.MergeCells=.T.
.Value='Сальдо вых.'
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
WITH .Font
.Bold = .T.
.Size = 8
ENDWITH
ENDWITH

&& Рисую линии таблицы
WITH .Range('A3:D3')
.Font.Size=8
.Font.Name=RPT_FONTNAME
.WrapText=.T.
.ShrinkToFit=.T.
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlJustify
.ReadingOrder = xlContext
.Borders(xlEdgeTop)
.Borders.Weight=xlThin
.Borders.LineStyle=xlContinuous
.Borders.ColorIndex=xlAutomatic
.Borders(xlEdgeBottom)
.Borders.Weight=xlThin
.Borders.LineStyle=xlContinuous
.Borders.ColorIndex=xlAutomatic
.Borders(xlEdgeRight)
.Borders.Weight=xlThin
.Borders.LineStyle=xlContinuous
.Borders.ColorIndex=xlAutomatic
ENDWITH
&& задаю ширину колонок
.Columns('A').ColumnWidth=10
.Columns('B').ColumnWidth=14
.Columns('C').ColumnWidth=14
.Columns('D').ColumnWidth=14
****************************************************************
SELECT report_out
SCAN
.Range('A').Value=report_out.kod
.Range('B').Value=report_out.saldo_in
.Range('C').Value=report_out.kr62
.Range('D').Value=report_out.saldo_out

ENDSCAN

****************************************************************
ENDWITH
WAIT CLEAR
MESSAGEBOX('готово')
&& Excel смотрим
loExcel.Visible = .T.
RELEASE loExcel
USE
RETURN
20 май 04, 07:58    [688900]     Ответить | Цитировать Сообщить модератору
 Re: Может заодно подскажите почему ??  [new]
Lipton
Member

Откуда: Дудинка
Сообщений: 56
Спасибо всем, вопрос снимается, немного подумав сделал,
подскажите существует ли группировка в Екселе
и как все таки сделать формат листа альбомным, 290.7 на 210

заранее блогадарен
20 май 04, 08:12    [688916]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить