Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Append doc'го файла Добавлено: 28.09.05 03:24  

Автор вопроса:  Sania | ICQ: 347442784 
Ребята ну что, опять за ерунда. В текстовый фаил .txt добавляет а, в доковский .doc нет.
Я пробовал так:

Private Sub Command2_Click()
On Error GoTo ErrHandler
 CommonDialog1.Filter = "(*.doc)|*.doc"
 CommonDialog1.FileName = "1.doc"
 CommonDialog1.ShowSave
 Open (CommonDialog1.FileName) For Append As #1
X1 = Text1.Text
Print #1, X1
Close #1
ErrHandler:
Exit Sub
End Sub

И даже так:

Private Sub Command1_Click()
Dim fso As New FileSystemObject
Dim f As File
Dim txt As TextStream
Set f = fso.GetFile("1.doc")
Set txt = f.OpenAsTextStream(ForAppending)
txt.Write (Text1.Text)
txt.Close

End Sub

Что, я нетак делаю непойму?

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #1
Добавлено: 28.09.05 06:49
А как ругается? Вообще DOC-файл может контролироваать свою внутреннюю файловую систему. Какие нибудь контрольные суммы или несовпадение размера количеству секторов. API пробовал? Имена их начинаются с stg (например StgOpenStorage). Или можно вручную ковырнуть. Я специально пример написал для этого на PowerBasic. Вот он
http://basicproduction.nm.ru/POWERBASIC/CC1.zip

Ответить

Номер ответа: 2
Автор ответа:
 el-paso



Вопросов: 3
Ответов: 164
 Профиль | | #2 Добавлено: 28.09.05 09:42
Вы чего тут извращаетесь? .doc файл имеет свой формат и банальный Append тут
не подойдёт, однозначно. Нужный текст к файлу, конечно, присоединится после
такой процедуры (это покажет любой двоичный или простой текстовый редактор),
но в документе слово не появится - это точно. :-)

Чтобы реально изменить текст документа, нужно привязать к проекту Microsoft
Word Object [X.X] Library и юзать примерно такой код:

Private Sub Button1_Click()
    '
    Dim a As Word.Application
    Dim d As Word.Document
    '
    Set a = New Word.Application
    Set d = a.Documents.Open("c1.doc";)
    '
    d.Content.InsertAfter Text1.Text
    '
    d.Close True
    Set a = Nothing
    '
End Sub

Ответить

Номер ответа: 3
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #3
Добавлено: 29.09.05 05:17
Sania,
 Ты что ли хочешь работать с офисным документом как с обычным текстом? Или ты хочешь данные прикрепить в конец DOC-файла. Если первое, то забей или используй офисный интерфейс(ответ 2). DOC-файл - это довольно сложная структура.

Ответить

Номер ответа: 4
Автор ответа:
 Barsik



Разработчик Offline Client

ICQ: 343368641 

Вопросов: 17
Ответов: 686
 Web-сайт: barsik.newmail.ru
 Профиль | | #4
Добавлено: 29.09.05 12:14
гм... или почитай статьи проработу с вордом из под вб.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам