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 |