nordk
 
 
  Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
  | 
		
			
				 Posted: 26 Oct 2005 12:08    Post subject: Пример в Excel | 
				     | 
			 
			
				
  | 
			 
			
				Пример Сан Саныча перенес сюда....
 
 
 	  | ЯКОВ wrote: | 	 		  Дайте например пример того, как можно выгружать в EXCEL Прайс-лист.
 
НА базе этого примера можно будет понять основные принципы и команды. А в дальнейшем уже модифицируя этот пример составлять другие отчеты. | 	  
 
В принципе, есть пример в хелпе по программированию БЭСТ-4, по выгрузке проводок.
 
 
 	  | Code: | 	 		  FUNCTION MAIN  
 
 
 
 LOCAL oApp,oWorkBook,oRange  
 
 
 
 LOCAL nLine:=3  
 
 
 
  
 
 
 
 dbPush()  
 
 
 
  
 
 
 
 TRY  
 
 
 
 oApp := CreateObject( "Excel.Application" ) //попытка создать объект Excel  
 
 
 
 CATCH  
 
 
 
 Alert("Excel не доступен!")  
 
 
 
 RETURN .F.  
 
 
 
 END  
 
 
 
 altd()  
 
 
 
 oWorkBook:=oApp:WorkBooks:Add() //добавление рабочей книги  
 
 
 
 oAS:=oWorkBook:Worksheets():Add() //добавление таблицы  
 
 
 
 oAS:Name:="Test" //присвоение имени таблице  
 
 
 
 oRange:=oAS:Range("A1:C1") //определение интервала ячеек  
 
 
 
 oRange:font:bold:=.T. //выдленный шрифт на этом интервале  
 
 
 
 oRange:MergeCells:=.T. //объединение ячеек в интервале  
 
 
 
 oRange:value:=OemToAnsi("Тестовый пример") //запись текста  
 
 
 
  
 
 
 
 oAS:columns(1):ColumnWidth:=10 //ширина 1-й колонки  
 
 
 
 oAS:columns(2):ColumnWidth:=10 //ширина 2-й колонки  
 
 
 
 oAS:columns(3):ColumnWidth:=20 //ширина 3-й колонки  
 
 
 
 
 SELECT Main  
 
 
 
 nLine:=3  
 
 
 
 GO TOP  
 
 
 
 oAS:Range("A2"):formula:=OemToAnsi("Дт счет") //Запись заголовов столбцов  
 
 
 
 oAS:Range("B2"):formula:=OemToAnsi("Кт счет")  
 
 
 
 oAS:Range("C2"):formula:=OemToAnsi("Сумма")  
 
 
 
 WHILE !EOF()  
 
 
 
 oAS:Cells(nLine,1):Value:=HB_OEMTOANSI(Dt_Schet) //Запись в ячейки  
 
 
 
 oAS:Cells(nLine,1):NumberFormat:="@"  
 
 
 
 oAS:Cells(nLine,2):Value:=HB_OEMTOANSI(Kt_Schet)  
 
 
 
 oAS:Cells(nLine,2):NumberFormat:="@" //текстовой формат  
 
 
 
 oAS:Cells(nLine,3):Value:=Summa  
 
 
 
 oAS:Cells(nLine,3):NumberFormat:="#0,00" //числовой формат  
 
 
 
 nLine++  
 
 
 
 SKIP  
 
 
 
 ENDDO  
 
 
 
  
 
 
 
 oApp:visible:=.T. //отобразить Excel  
 
 
 
  
 
 
 
 dbPop()  
 
 
 
  
 
 
 
 RETURN  
 
  | 	  
 
  
 
Здесь используются методы и свойства Excel, описание которых можно найти 
 
в справочных руководствах по объектной модели Excel. | 
			 
		  |