Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / WinWord, параметры... / 15 сообщений из 15, страница 1 из 1
19.05.2008, 00:11
    #35319681
nat-z
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinWord, параметры...
Немного не по теме, возможно.
У меня такая проблема: из VB вызываю командной строкой Winword и в ком.строке передаю ему имя текстового файла для открытия: winword.exe 111.txt
Файлы у меня в досовской кодировке. Кроме того сам лист надо открывать то портретом, то пейзажем (лежа/стоя).
Можно ли как-то ворду в ком.строке передавать такие параметры как тип кодировки текстового файла, размер шрифта, расположение страницы (лежа/стоя) и проч.
Нигде в инструкциях по ворду не нашла формата командной строки для ворда в пакетном режиме.
Откликнитесь - кто хоть что-то знает!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
...
Рейтинг: 0 / 0
19.05.2008, 16:59
    #35321427
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinWord, параметры...
лучше через COM, к примеру (в инете полно примеров и документаций):
Код: plaintext
1.
2.
3.
4.
Dim objWordApp As Object
Set objWordApp = CreateObject("Word.Application")
objWordApp.Visible = True
objWordApp.Document.Open (<<file name>>)
Set objWordApp = Nothing
...
Рейтинг: 0 / 0
20.05.2008, 09:44
    #35322301
nat-z
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinWord, параметры...
Но мне важно не просто вызвать ворд и дать ему файл на открытие, а именно параметры ОТКРЫТИЯ ФАЙЛА!!! - разворот листа и проч.
...
Рейтинг: 0 / 0
20.05.2008, 09:50
    #35322320
nat-z
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinWord, параметры...
P.S.
И не вижу в инете подходящих примеров...
...
Рейтинг: 0 / 0
20.05.2008, 10:39
    #35322464
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinWord, параметры...
Самый легкий способ узнать как это делается на VBA:
1. Начать запись макроса
2. Сделать то что надо
3. Остановить макрос
4. Код готов!
То что Вам надо, к примеру:
Код: 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.
Sub Macros1()
    Documents.Open FileName:="Test.doc", ConfirmConversions:=False, ReadOnly _
        :=False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate _
        :="", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="" _
        , Format:=wdOpenFormatAuto, XMLTransform:=""
    With ActiveDocument.Styles(wdStyleNormal).Font
        If .NameFarEast = .NameAscii Then
            .NameAscii = ""
        End If
        .NameFarEast = ""
    End With
    With ActiveDocument.PageSetup
        .LineNumbering.Active = False
        .Orientation = wdOrientLandscape
        .TopMargin = CentimetersToPoints( 3 )
        .BottomMargin = CentimetersToPoints( 1 . 5 )
        .LeftMargin = CentimetersToPoints( 2 )
        .RightMargin = CentimetersToPoints( 2 )
        .Gutter = CentimetersToPoints( 0 )
        .HeaderDistance = CentimetersToPoints( 1 . 25 )
        .FooterDistance = CentimetersToPoints( 1 . 25 )
        .PageWidth = CentimetersToPoints( 29 . 7 )
        .PageHeight = CentimetersToPoints( 21 )
        .FirstPageTray = wdPrinterDefaultBin
        .OtherPagesTray = wdPrinterDefaultBin
        .SectionStart = wdSectionNewPage
        .OddAndEvenPagesHeaderFooter = False
        .DifferentFirstPageHeaderFooter = False
        .VerticalAlignment = wdAlignVerticalTop
        .SuppressEndnotes = False
        .MirrorMargins = False
        .TwoPagesOnOne = False
        .BookFoldPrinting = False
        .BookFoldRevPrinting = False
        .BookFoldPrintingSheets =  1 
        .GutterPos = wdGutterPosLeft
    End With
End Sub
...
Рейтинг: 0 / 0
26.05.2008, 12:48
    #35334880
nat-z
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinWord, параметры...
Спасибо, но что-то не быстро у меня идет! Функция “CentimetersToPoints” не определена выдает,
objWord.ActiveDocument.PageSetup.Orientation = wdOrientLandscape не срабатывает (все равно портрет выдает), а по ConfirmConversions:=True предлагает преобразование файла из “кодированный текст”, но не запрашивает типа кодировки (как принято в ворде). А у меня задача – читать именно текстовые файлы *.txt в ДОСовской кодировке!!! Как это указывается?
И вообще – где можно подробнее увидеть все параметры и их допустимые значения?? Откуда Вы сами все это нашли??
...
Рейтинг: 0 / 0
26.05.2008, 16:21
    #35335490
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinWord, параметры...
nat-zСпасибо, но что-то не быстро у меня идет! Функция “CentimetersToPoints” не определена выдает,
objWord.ActiveDocument.PageSetup.Orientation = wdOrientLandscape не срабатывает (все равно портрет выдает), а по ConfirmConversions:=True предлагает преобразование файла из “кодированный текст”, но не запрашивает типа кодировки (как принято в ворде). А у меня задача – читать именно текстовые файлы *.txt в ДОСовской кодировке!!! Как это указывается?
И вообще – где можно подробнее увидеть все параметры и их допустимые значения?? Откуда Вы сами все это нашли??

orunbekСамый легкий способ узнать как это делается на VBA:
1. Начать запись макроса
2. Сделать то что надо
3. Остановить макрос
4. Код готов!
...
Рейтинг: 0 / 0
26.05.2008, 16:28
    #35335511
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinWord, параметры...
> Автор: orunbek
> nat-z
> Спасибо, но что-то не быстро у меня идет! Функция
> “CentimetersToPoints” не определена выдает,

objWord.CentimetersToPoints

> И вообще – где можно подробнее увидеть все параметры и их
> допустимые значения??

Справка, Object Browser и справка по методам и свойствам

> Откуда Вы сами все это нашли??

Запись макроса и последующее его изучение с обязательным чтение Help'а по
всем свойствам и методам.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
26.05.2008, 16:38
    #35335535
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinWord, параметры...
> Автор: orunbek
> nat-z
> objWord.ActiveDocument.PageSetup.Orientation =
> wdOrientLandscape не срабатывает (все равно портрет выдает), а по
> ConfirmConversions:=True предлагает преобразование файла из “кодированный
> текст”, но не запрашивает типа кодировки (как принято в ворде). А у меня
> задача – читать именно текстовые файлы *.txt в ДОСовской кодировке!!! Как
> это указывается?

Кстати!
Справка по VBA Word по функции OpenOpens the specified document and
adds it to the Documents collection. Returns a Document object.

Security Avoid using hard-coded passwords in your applications. If a
password is required in a procedure, request the password from the user,
store it in a variable, and then use the variable in your code. For
recommended best practices on how to do this, see Security Notes for
Microsoft Office Solution Developers.

expression.Open(FileName, ConfirmConversions, ReadOnly, AddToRecentFiles,
PasswordDocument, PasswordTemplate, Revert, WritePasswordDocument,
WritePasswordTemplate, Format, Encoding, Visible, OpenConflictDocument,
OpenAndRepair , DocumentDirection, NoEncodingDialog)
expression Required. An expression that returns a Documents object.

FileName Required Variant. The name of the document (paths are accepted).

ConfirmConversions Optional Variant. True to display the Convert File
dialog box if the file isn't in Microsoft Word format.

ReadOnly Optional Variant. True to open the document as read-only. Note
This argument doesn't override the read-only recommended setting on a saved
document. For example, if a document has been saved with read-only
recommended turned on, setting the ReadOnly argument to False will not cause
the file to be opened as read/write.

AddToRecentFiles Optional Variant. True to add the file name to the list
of recently used files at the bottom of the File menu.

PasswordDocument Optional Variant. The password for opening the document.

PasswordTemplate Optional Variant. The password for opening the template.

Revert Optional Variant. Controls what happens if FileName is the name of
an open document. True to discard any unsaved changes to the open document
and reopen the file. False to activate the open document.

WritePasswordDocument Optional Variant. The password for saving changes to
the document.

WritePasswordTemplate Optional Variant. The password for saving changes to
the template.

Format Optional Variant. The file converter to be used to open the
document. Can be one of the following WdOpenFormat constants.

WdOpenFormat can be one of these WdOpenFormat constants.
wdOpenFormatAllWord
wdOpenFormatAuto The default value.
wdOpenFormatDocument
wdOpenFormatEncodedText
wdOpenFormatRTF
wdOpenFormatTemplate
wdOpenFormatText
wdOpenFormatUnicodeText
wdOpenFormatWebPages

To specify an external file format, apply the OpenFormat property to a
FileConverter object to determine the value to use with this argument.

Encoding Optional Variant. The document encoding (code page or
character set) to be used by Microsoft Word when you view the saved
document. Can be any valid MsoEncoding constant. For the list of valid
MsoEncoding constants, see the Object Browser in the Visual Basic Editor.
The default value is the system code page.


Visible Optional Variant. True if the document is opened in a visible
window. The default value is True.

OpenConflictDocument Optional Variant. Specifies whether to open the
conflict file for a document with an offline conflict.

OpenAndRepair Optional Variant. True to repair the document to prevent
document corruption.

DocumentDirection Optional WdDocumentDirection. Indicates the horizontal
flow of text in a document.

WdDocumentDirection can be one of these WdDocumentDirection constants.
wdLeftToRight default
wdRightToLeft

NoEncodingDialog Optional Variant. True to skip displaying the Encoding
dialog box that Word displays if the text encoding cannot be recognized. The
default value is False.

Особенно стоит обратить внимание на параметр Encoding

И начать читать справку! Там есть все что нужно.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
26.05.2008, 17:24
    #35335676
nat-z
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinWord, параметры...
Игорь Горбонос
Справка, Object Browser и справка по методам и свойствам
Posted via ActualForum NNTP Server 1.4

Нет ну интересно! Так мне как раз и хочется узнать, где люди все эти справки берут, например, “Справка по VBA Word по функции Open”!!!
И что значит – “Справка, Object Browser и справка по методам и свойствам” – у меня MSDN нет!!!!!!
...
Рейтинг: 0 / 0
26.05.2008, 17:39
    #35335708
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinWord, параметры...
> Автор: nat-z
> Игорь Горбонос
>
> Справка, Object Browser и справка по методам и свойствам
>
> Нет ну интересно! Так мне как раз и хочется узнать, где люди все эти
> справки берут, например, “Справка по VBA Word по функции Open”!!!
> И что значит – “Справка, Object Browser и справка по методам и
> свойствам” – у меня MSDN нет!!!!!!

А при чем здесь МСДН?
Когда устанавливаешь офис выбираешь полную установку, после открываешь
Ворд/Ексель там открываешь редактор Visual Basic, там жмешь F2 и там(в
Object Browser'e) изучаешь объекты каких классов какие имеют свойства и
методы, а также их параметры, а иногда даже значения этих параметров. И
оттуда-же можно нажать F1 и почитать справку, которая устанавливается вместе
с офисом и к МСДМ никакого отношения не имеет.
Просто нужно изучать инструмент, с которым работаешь ;-)

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
29.05.2008, 01:35
    #35341728
nat-z
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinWord, параметры...
Нашла.
А с инструментом этим я не работаю, иногда просто тексты набираю!
Стала пробовать, все равно туго. И почему у меня:
objWord.ActiveDocument.TextEncoding = objWord.msoEncodingOEMCyrillicII не определелена
(и даже без objWord справа)?

И в Properties от Documrnt совсем не те вещи, что в бумажке, которую мне послали!!
...
Рейтинг: 0 / 0
29.05.2008, 07:49
    #35341830
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinWord, параметры...
nat-zНашла.
А с инструментом этим я не работаю, иногда просто тексты набираю!
Стала пробовать, все равно туго. И почему у меня:
objWord.ActiveDocument.TextEncoding = objWord.msoEncodingOEMCyrillicII не определелена
(и даже без objWord справа)?

И в Properties от Documrnt совсем не те вещи, что в бумажке, которую мне послали!!
учите матчасть
...
Рейтинг: 0 / 0
29.05.2008, 12:37
    #35342715
nat-z
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinWord, параметры...
Да мне этот вызов ворда надо только как вьювер просмотра и печати текстовых досовских файлов, которые совершенно другая программа создает!!! Я если эту матчасть кинусь сейчас изучать, вообще никогда не кончу!!! Нужна элементарная п/программа, которая читала бы вордом досовский файл и которой передавать бы только имя файла, ориентацию листа, размер шрифта, а печатала бы всегда только в курьере и читала в досовской кодировке!!

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Public Sub exe_word0(NFile As String, orient As Integer)
Dim n1, n2 As Long
Dim objWord As Object
If orient =  1  Then  ' портрет.
   n1 =  29 . 7 
   n2 =  21 
Else  ' пейзаж.
   n2 =  29 . 7 
   n1 =  21 
End If
Set objWord = CreateObject("Word.Application")
    objWord.Documents.Open FileName:=NFile, ReadOnly:=False, ConfirmConversions:=True  ' False - не вызывает word!!
    ' objWord.ActiveDocument.PageSetup.Orientation = wdOrientLandscape - не срабатывает, но ошибки не выдает....
    'Format:=wdOpenFormatText   ' - не работают все значения, error...  wdOpenFormatEncodedText  wdOpenFormatText   wdOpenFormatAuto

 '   objWord.ActiveDocument.TextEncoding = objWord.msoEncodingOEMCyrillicII  ' error
'    objWord.ActiveDocument.PageSetup.PageWidth = objWord.CentimetersToPoints(n2)  ' - работает.
'    objWord.ActiveDocument.PageSetup.PageHeight = objWord.CentimetersToPoints(n1) ' - работает.
'    objWord.ActiveDocument.PageSetup.TextEncoding = msoEncodingEBCDICRussian   ' error
Set objWord = Nothing
End Sub
...
Рейтинг: 0 / 0
30.05.2008, 01:18
    #35344610
nat-z
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinWord, параметры...
Вопрос звучит даже так:
Код: plaintext
1.
2.
Set objWord = CreateObject("Word.Application")
    objWord.Documents.Open FileName:=NFile, ReadOnly:=False, ConfirmConversions:=True,   _
    Encoding:=msoEncodingOEMCyrillicII
Во-первых, ConfirmConversions:=True почему-то приходится обязательно писать (без этого ворд не запускается), а по сути ведь д.б. - показывать или нет диалог конвертации;
во-вторых, в диалоге ворда после указания “кодированный текст” не переходит в запрос типа кодировки. А почему? От чего это зависит?
В-третьих, перебирала все варианты Encoding::= - никак не идет на ДОСовскую!!!
Неужели никто не знает????
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / WinWord, параметры... / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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