- Version: SQL Server 7.0/2000
- Created by: Alexander Chigrik
- <a href="http://www.MSSQLCity.com/">http://www.MSSQLCity.com/ - all about MS SQL
- (SQL Server Articles, FAQ, Scripts, Tips and Test Exams).
- This stored procedure can be used to export the text string into
- Microsoft Word. You can pass the text string and the file name
- (if the file name was not specified, the c:\\ImportToWord.doc
- will be used) into this stored procedure, as in the example below:
- EXEC ExportToWord @Text = 'Test example',
- @filename = 'c:\\ImportToWord.doc'
- This stored procedure can be used to export the text string into
- Microsoft Word. You can pass the text string and the file name
- (if the file name was not specified, the c:\\ImportToWord.doc
- will be used) into this stored procedure, as in the example below:
- EXEC ExportToWord @Text = 'Test example',
- @filename = 'c:\\ImportToWord.doc'
- */
- IF OBJECT_ID('ExportToWord') IS NOT NULL DROP PROC ExportToWord
- GO
- CREATE PROCEDURE ExportToWord (
- @Text varchar(200) = null,
- @filename varchar(200) = 'c:\\ImportToWord.doc'
- )
- AS
- DECLARE @object int,
- @Range int,
- @Documents int,
- @Document int,
- @hr int,
- @result_str varchar(255)
- IF @Text IS NULL
- BEGIN
- PRINT 'You should write text'
- RETURN
- END
- SET NOCOUNT ON
- EXEC @hr = sp_OACreate 'Word.Application', @object OUT
- IF @hr <> 0
- BEGIN
- PRINT 'error create Word.Application'
- RETURN
- END
- EXEC @hr = sp_OAGetProperty @object, 'Documents', @Documents OUT
- IF @hr <> 0
- BEGIN
- PRINT 'error create Documents'
- RETURN
- END
- EXEC @hr = sp_OAMethod @Documents, 'Add', @Document OUT
- IF @hr <> 0
- BEGIN
- PRINT 'error with method Add'
- RETURN
- END
- EXEC @hr = sp_OAGetProperty @Document, 'Range', @Range OUT
- IF @hr <> 0
- BEGIN
- PRINT 'error create Range'
- RETURN
- END
- EXEC @hr = sp_OASetProperty @Range, 'Text', @Text
- IF @hr <> 0
- BEGIN
- PRINT 'error set Text'
- RETURN
- END
- SELECT @result_str = 'SaveAs("' + @filename + '")'
- EXEC @hr = sp_OAMethod @Document, @result_str
- IF @hr <> 0
- BEGIN
- PRINT 'error with method SaveAs'
- RETURN
- END
- EXEC @hr = sp_OAMethod @Documents, 'Close'
- IF @hr <> 0
- BEGIN
- PRINT 'error with method Close'
- RETURN
- END
- EXEC @hr = sp_OADestroy @object
- IF @hr <> 0
- BEGIN
- PRINT 'error destroy Word.Application'
- RETURN
- END
- GO
- --该片段来自于http://www.codesnippet.cn/detail/04122012809.html
来源: http://www.codesnippet.cn/detail/04122012809.html