powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / DTS. Необходимо написать Task.
4 сообщений из 4, страница 1 из 1
DTS. Необходимо написать Task.
    #32056938
BootMaker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо Глори за ссылку.
Продолжу тему.

Делаю DTS Package, возникла необходимость форматировать Excel файл после импорта в него. Кроме как черех ActiveX Task ничего в голову не лезет.
Все упирается в отсутствие нормальной документации именно по Script-у, позволяющей научиться общаться с Excel. Стандартные приемы работы VB иногда прокатывают, иногда- нет. Приходится действовать наугад.
Ну нет в script-е класса excel.Application.
Откуда плясать?
...
Рейтинг: 0 / 0
DTS. Необходимо написать Task.
    #32056982
Фотография VVG_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А какой-нибудь шаблон екселевский не получается прикрутить?
...
Рейтинг: 0 / 0
DTS. Необходимо написать Task.
    #32056990
Валентин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
У меня версия SQL:
Microsoft SQL Enterprise Manager
Microsoft Corporation
Версия: 8.0

И в ней есть connection Excel.

Microsoft OLE DB Provider for SQL Server -->Запрос --->
Microsoft Excel 97-2000
...
Рейтинг: 0 / 0
DTS. Необходимо написать Task.
    #32056998
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не пойму в чем у вас проблема.
Вот пример самого простого форматирования

Код: 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.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
'**********************************************************************
'  Visual Basic ActiveX Script
'************************************************************************

Function Main()

	Dim FileName
	FileName = DTSGlobalVariables( "OutputFileFullName" ).Value

	Dim fso
	Set fso = CreateObject( "Scripting.FileSystemObject" )

	Main = DTSTaskExecResult_Failure
	If (fso.FileExists(FileName)) Then
		Dim objXL
		Set objXL = CreateObject( "Excel.Application" )

		objXL.Visible = FALSE
		objXL.WorkBooks.Open(FileName)

		If (objXL.WorkBooks( 1 ).Sheets.Count >  1 ) Then
			objXL.WorkBooks( 1 ).Sheets( 1 ).Delete
		End if

		For i =  1  to objXL.WorkBooks( 1 ).Sheets.Count
			objXL.WorkBooks( 1 ).Sheets(i).Activate()

			RowsCnt = objXL.ActiveCell.CurrentRegion.Rows.Count
			ColsCnt = objXL.ActiveCell.CurrentRegion.Columns.Count

			objXL.ActiveCell.CurrentRegion.Borders.LineStyle =  1 
			objXL.ActiveCell.CurrentRegion.Borders.Weight =  3 

			If RowsCnt >  2  Then
				objXL.Range(objXL.Cells( 3 ,  1 ), objXL.Cells(RowsCnt, ColsCnt)).Borders( 3 ).LineStyle =  3 
			End if
			If RowsCnt >  1  Then
				objXL.Range(objXL.Cells( 2 ,  1 ), objXL.Cells(RowsCnt- 1 , ColsCnt)).Borders( 4 ).LineStyle =  3 
			End if

			objXL.Range(objXL.Cells( 1 ,  1 ), objXL.Cells( 1 , ColsCnt)).Font.Bold = True
			objXL.Range(objXL.Cells( 1 ,  1 ), objXL.Cells( 1 , ColsCnt)).HorizontalAlignment =  3 
			objXL.Range(objXL.Cells( 1 ,  1 ), objXL.Cells( 1 , ColsCnt)).VerticalAlignment =  2 
			objXL.Range(objXL.Cells( 1 ,  1 ), objXL.Cells( 1 , ColsCnt)).Interior.Color =  12632256 

			objXL.ActiveCell.CurrentRegion.Columns.AutoFit
		Next

		objXL.WorkBooks( 1 ).Save
		objXL.Quit
		Set objXL = Nothing

		Main = DTSTaskExecResult_Success
	End If
End Function
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / DTS. Необходимо написать Task.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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