Ru-Board.club
← Вернуться в раздел «Программы»

» Microsoft WORD

Автор: asagafon1
Дата сообщения: 29.07.2004 09:01
Помогите чайнику, пожалуйста.
Как в Word 2000 или XP можно написать дробь, но только не через редактор формул, т.к. это корректно сделать у меня не получается. Хочу пояснить, что речь идёт о дроби не как о формуле, а как о тексте, пример - обозначение материала и т.п. В числителе и в знаменателе только текст (сортамент/марка стали). Никаких привязок как в редакторе формул (не понимает пробелы, теряет буквы, при редактировании искажает всю дробь).
Может, есть другой способ?
Автор: Corewin
Дата сообщения: 30.07.2004 18:27
Almaz
А если скопировать содержание этого файла в новый документ и сохранить, то размер будет меньше, чем у оригинального дока. Так происходит со всеми доками
Автор: Robert
Дата сообщения: 30.07.2004 20:42
asagafon1

Вставка -> Поле... -> Формула, и там в параметрах задать дробь. Можно вставить поле и вручную по Ctrl+F9, появятся фигурные скобки, в них написать:
EQ \F(числитель;знаменатель)
Автор: sailor
Дата сообщения: 31.07.2004 11:55
Господа, помогите пожалуйста. У меня word2000, сейчас возникла необходимость работать с французскими текстами. А вот в стандартной комплектации словаря французских слов (для проверки орфографии) - не оказалось. Я так понимаю, что нужны какие-то языковые модули. Предположительно, следующие файлы:
msgr2FR.dll
msgrFR32.dll
Если у кого в ворде с французским проблем нет - свяжитесь со мной по ПМ пожалуйста или здесь запостите. Нужны эти файлики, а найти не могу.

И ещё. Как включить французскую раскладку? Чтобы там всякие буковки е, а с аксонами были и т.д. Пока набираю тексты весьма извратным способом (на translete.ru - есть виртуальная клава).
Автор: ghosty
Дата сообщения: 31.07.2004 13:56
sailor
Модуль проверки французского брал у Взора.
Раскладку можно установить, вызвав контекстное меню для языковой иконки в панели задач.
Автор: bredonosec
Дата сообщения: 01.08.2004 03:23

Цитата:
И ещё. Как включить французскую раскладку?
- Control panel -> Keyboard -> Language -> Add -> French -> OK.
(или аналогично на другой системе.)
Насчет пруфинг тулз - для офиса 2003 распространяется в варезнике (рип на 10 языков, 150м разжатый, 45М сжатый).
Для 2000 где-то видел страничку с модулями - порылся ща по закладкам - не нахожу, слишком их много.. ((
Глянь, может, в этой теме туда ссылка будет


Добавлено
Ага, вот она - French.zip
Автор: asagafon1
Дата сообщения: 02.08.2004 09:13
Robert

Спасибо!
Автор: webdeveloper
Дата сообщения: 02.08.2004 11:04
Как сделать что вмсето «» было „“?
И как сделать чтоб в зависимости от случая тире заменялось на дефис?
Автор: ZUMR
Дата сообщения: 02.08.2004 11:33
webdeveloper

Цитата:
вмсето «» было „“?


Цитата:
тире заменялось на дефис

В "автозамене" и "автоформате при вводе"
P.S. На будущее - пиши версию офиса.
Автор: webdeveloper
Дата сообщения: 02.08.2004 11:49
ZUMR
спасибо
Автор: ZUMR
Дата сообщения: 02.08.2004 13:17
ALL!
Возник вопрос:
Открываем Word-ом (2000, XP) Web-документ.
Что надо настроить, чтобы на принтер выходил и фон этого документа?
При отображении на экране фон также пропадает во всех режимах (Разметки, обычном и т.д.), кроме Web. Заметил, что при создании нового документа и заполнении страницы фоном (Формат>Фон) происходит тоже самое. Хочется делать самому документы с текстурной заливкой.
В принципе, нашел выход, как это обойти. Приходится на всю страницу растягивать надпись, а потом с ней работать. Но хочется-то по-проще, а не через гимор.
Автор: TCPIP
Дата сообщения: 09.08.2004 01:46
Господа, помогите пожалуйста решить следующую задачу. Необходимо выполнить форматирование листингов: выделенный фрагмент текста должен форматировался таким образом, чтобы в каждой строчке было не более заданного числа символов (причем перенос строки НЕ должен выполняться посреди слова). То есть: выделяем текст, щелкаем на кнопке макроса, в диалоговом окне вводим максимальное число символов в строке, после этого макрос должен сделать так, чтобы оставить в каждой строке ровно столько слов, сколько укладывается в заданное число символов в строке, а остальное перенести на следующую строку и, склеив с тем, что имеется на следующей строке, выполнить ту же работу.
Хорошо было бы, чтобы можно было задавать правило переноса строки в соответствии с
синтаксисом языка: например, если это VB, то разрываемые, но логически связанные,
строки должны заканчиваться символом подчерка (соответственно тут максимальное число символов будет n+1).
Помогите пожалуйста, а то устал уже выполнять рутину руками... а макросы никогда не писал и потому полный нуль. А тут как всегда, дело делать некогда, работать надо.
Автор: Nep
Дата сообщения: 16.08.2004 09:27
у меня такой вопрос появился. Прогой создаются несколько *.doc документов. Например
акт осмотра,приложение к нему и еще что нибудь. Складываются в одну папку. Потом приходится открывать поочередно каждый файл и править там инфу. Дату,Фио и т.д.
Как можно сделать что-бы при правке в одном файле инфа менялась во всех файлах находящихся в данной папке.
Автор: Goul
Дата сообщения: 16.08.2004 14:59

Цитата:
Как можно сделать что-бы при правке в одном файле инфа менялась во всех файлах находящихся в данной папке.

Можно в одном ("главном") файле на нужные поля установить закладки (Bookmark), а во всех остальных вставлять текст этих закладок (меню Insert>Field...; Categories: Links and References; Field Names: Include Text): { INCLUDETEXT "Test.doc" BookmarkName \* MERGEFORMAT }. Правда, для того чтобы текст в "подчинённых" файлах обновился, придётся запустить команду Update Field.
Автор: Nep
Дата сообщения: 16.08.2004 15:26
Goul
Файлы постоянно новые.
Я знаю что это возможно.Сам видел когда-то давно.А сейчас понадобилось и не могу найти решение
Автор: bredonosec
Дата сообщения: 16.08.2004 15:48
Nep
Видел такое решение (в нашей фирме) - вся инфа идет в базу (ексел), а все доки связаны с ней. Так что, правится только одна база - по строчке на каждый случай (а все сопутствующие случаю доки - счета, договора, проч - при открытии автоматически вставляет данные в поля шаблонов.
Автор: Goul
Дата сообщения: 16.08.2004 17:19
Nep

Цитата:
Файлы постоянно новые.

Может, я чего-то не понял... Я имею в виду, что при генерации серии файлов (как я понимаю, при помощи VBA, потому как других способов вроде пока нет) в первом файле задать закладки, а в остальных сделать на них ссылки. Через VBA это делается, я посмотрел в MSDN. (Можно даже при обновлении содержимого закладки автоматически открывать все документы в той же папке и обновлять их, хотя это уже посложнее.)
Поэтому не вижу, в чём может мешать тот факт, что файлы постоянно новые?

Добавлено
TCPIP

Цитата:
Необходимо выполнить форматирование листингов

Вот в первом приближении код макроса (по крайней мере, на тех фрагментах, на которых я тестировал, работает). С внедрением в Word, надеюсь, проблем не возникнет. Да, функцию IsDelimiter() нужно будет уточнять. И вообще, тут ещё есть, над чем работать...
Sub SelectionSplitter()
On Error GoTo Err_Incorrect_Number
Dim nStrLen As Long
Dim sCurText As String
Dim sRes As String
Dim sTmp As String
nStrLen = CLng(InputBox("Enter maximum string length"))
On Error GoTo Err_Unexpected
sCurText = Selection.Range.Text
sRes = ""
While (Len(sCurText) > 0)
sTmp = Left(sCurText, nStrLen)
' Найти разделитель внутри текущей подстроки
While (Len(sTmp) < Len(sCurText) And _
Len(sTmp) > 0 And _
Not IsDelimiter(Right(sTmp, 1)))
sTmp = Left(sTmp, Len(sTmp) - 1)
Wend
If (Len(sTmp) = 0) Then
' Найти разделитель за текущей подстрокой (текущая строка слишком длинна, придётся делать её длиннее, чем задано)
While (Len(sTmp) < Len(sCurText) And Not IsDelimiter(Right(sTmp, 1)))
sTmp = Left(sCurText, Len(sTmp) + 1)
Wend
End If
sRes = sRes + sTmp + vbCrLf
sCurText = Right(sCurText, Len(sCurText) - Len(sTmp))
Wend
Selection.Range.Text = sRes
Exit Sub
Err_Incorrect_Number:
MsgBox "Incorrect number"
Exit Sub
Err_Unexpected:
MsgBox "Unexpected error: " & Err.Description
Exit Sub
End Sub
Function IsDelimiter(ByVal v_Char As String) As Boolean
Dim sLeftChar As String
If (Len(v_Char) <= 0) Then
IsDelimiter = False
Exit Function
End If
sLeftChar = Left(v_Char, 1)
If AscW(sLeftChar) <= 32 Then
IsDelimiter = True
Exit Function
End If
If (sLeftChar = "," Or sLeftChar = "." Or sLeftChar = "-" Or sLeftChar = "+") Then
IsDelimiter = True
Exit Function
End If
IsDelimiter = False
Exit Function
End Function
Автор: Nep
Дата сообщения: 16.08.2004 22:27

Цитата:
Я имею в виду, что при генерации серии файлов (как я понимаю, при помощи VBA, потому как других способов вроде пока нет

там убогая досовская софтина выдает несколько *.doc и *.rtf
файлов на выходе.
Автор: TCPIP
Дата сообщения: 17.08.2004 01:27
Goul
Здорово! Спасибо. Попробую.

Цитата:
С внедрением в Word, надеюсь, проблем не возникнет.

Никогда не пробывал еще с макросами работать, так что возникнет наверное...
Автор: domkratt
Дата сообщения: 17.08.2004 01:44
Nep
VBA и еще раз VBA. Навскидку алгоритм работы:
открываешь первый документ, выделяешь скажем фамилию, запускаешь макрос, появляется форма ввода, забиваешь новую фамилию, давишь батон, скрипт открывает поочереди все файлы в папке, ищет соответствие с фамилией в первом документе, если находит - меняет на заданное. В принципе такое можно рисовать на любом языке который понимает OLE но только это гимор, на VBA - проще всего.
Автор: Goul
Дата сообщения: 17.08.2004 07:05
Nep
Если структура документов заранее неизвестна, можно воспользоваться вариантом, предложенным domkratt. Если же известно, как можно найти поля внутри документа, могу предложить ещё один вариант: создать Add-In (или шаблон, автоматически загружаемый при запуске Word). Этот Add-In отслеживает событие открытия нового документа и находит в нём значения полей, которые нужно синхронизировать. Потом отслеживает событие закрытия документа и проверяет, были ли изменены какие-то поля. Если были, то последовательно открывает все документы в папке, где расположен закрываемый документ, и обновляет поля в них. Этот способ лучше тем, что не требует вмешательства пользователя, но нужно знать структуру документов.
Автор: Nep
Дата сообщения: 17.08.2004 12:16
domkratt
Goul
спасибо.Буду пробовать
Автор: TCPIP
Дата сообщения: 21.08.2004 03:15
Goul

Цитата:
И вообще, тут ещё есть, над чем работать...

Да... Эт точно! В таком виде штуковина не делает свертку строк (то есть перенос лишнего на следующую строку + сцепление с имеющимся + снова вычисление длины строки --- снова перенос и сцепление и так to EOF), она просто устанавливает максимально возможную длину строки (с учетом введенного количества символов и правил переноса (то есть, что нельзя перевод строки посеред слова)) и ставит Enter. А енто не совсем то, что хочется...

Вопрос к вам: имеет ли смысл изучать VBA сейчас? Может уже сейчас ясно, что это последний раз, когда он присутствует в Office и в будущем будет что-то вроде VS.NET Office Extensions?
Автор: Goul
Дата сообщения: 21.08.2004 07:40
TCPIP

Цитата:
А енто не совсем то, что хочется...

Ну, это уже мелочи. Добавь, например, пару строк в начале:

On Error GoTo Err_Unexpected
ActiveDocument.Range.Find.Execute FindText:="^p", ReplaceWith:=" "
ActiveDocument.Range.Select
sCurText = Selection.Range.Text

Цитата:
имеет ли смысл изучать VBA сейчас?

Имеет смысл - конечно, если в VBA есть необходимость. Угадать, что будет с VBA, трудно, лично мне это не ясно. VS.NET Office Extensions, думаю, не станут заменять VBA, но что будет с выходом Longhorn, всё равно непонятно: в какой мере станет Microsoft поддерживать совместимость следующей версии офиса с предыдущими - кто его знает.
С другой стороны, в прошлом году MS выпустил вполне совместимую по VBA версию офиса, даже более совместимую с ранними, чем в 2002. Так что, может, рано ещё хоронить VBA.
Автор: TCPIP
Дата сообщения: 23.08.2004 05:27
Goul

Цитата:
Добавь, например, пару строк в начале


Код: Sub SelectionSplitter()
On Error GoTo Err_Incorrect_Number
Dim ...
....
nStrLen = CLng(InputBox("Enter maximum string length"))
On Error GoTo Err_Unexpected
ActiveDocument.Range.Find.Execute FindText:="^p", ReplaceWith:=" "
ActiveDocument.Range.Select

sCurText = Selection.Range.Text
sRes = ""
...
End Sub
Автор: Goul
Дата сообщения: 23.08.2004 05:53
TCPIP
Не очень понятны условия задачи. Вероятно, подойдёт, если вместо "ActiveDocument.Range" использовать "Selection.Range" (и убрать "ActiveDocument.Range.Select")? В любом случае, доводку всё равно придётся делать.

Цитата:
первый ASCII-символ стоки .lt. 32:

.le. 32. Среди символов, имеющих код, меньший или равный 32, хватает разделителей: например, пробел, табуляция (вернее, там все разделители). Проще их скопом проверить.

Цитата:
Значит в Office System меньше проблем с backward compatibility?

Что такое Office System? Я имел в виду, что Office 2003 и в самом деле более совместим с Office 2000 и более ранними, чем Office 2002. Правда, я не могу быть уверенным в этом на 100%, потому как из Office 2002, 2003 работал в основном с Outlook.
Автор: TCPIP
Дата сообщения: 24.08.2004 02:11
Goul

Цитата:
Не очень понятны условия задачи

Чтобы не разводить здесь флейм, отправил вам их в ПМ.

Цитата:
.le. 32.

Да, сорри, "меньше или равно"...

Цитата:
Что такое Office System

Office System 2003 --- дитя новой политики Микрософта по именованию своих продуктов. В него входят как старый добрый Офис, который называется Microsoft Office 2003 (Microsoft Office Access 2003, Microsoft Office Excel 2003, Microsoft Office InfoPath 2003, Microsoft Office Outlook 2003, Microsoft Office PowerPoint 2003, Microsoft Office Publisher 2003, Microsoft Office Word 2003), так и некоторые другие продукты, например Microsoft Office OneNote 2003 (зависит от поставки). (есть еще Windows Server System 2003 --- собственно сервер, сиквел, иса и прочее).
Автор: ghosty
Дата сообщения: 24.08.2004 15:11
Помогите, пожалуйста, подправить код. Раньше для Ворда не писал - все больше для Екселя.
Задача простая: нужно найти весь текст, выделенный жирным, и отформатировать его в html - тегами (<b>, </b>). Получается пока вот это:

Dim b, b1 As String
Dim myRange As Range
b = "<b>"
b1 = "</b>
With ActiveDocument.Content.Find
.ClearFormatting
.Font.Bold = True
.Text = ""
*** If .Found = True Then myRange = ActiveDocument.Content*** Что здесь должно быть?
End With

With myRange
Select Case intInsertMode
Case 0
.InsertBefore b
Case 1
.InsertAfter b1
Case Else
End Select
InsertTextInRange = True
End With

Буду премного благодарен за скорейший ответ.
Автор: Robert
Дата сообщения: 25.08.2004 23:47
ghosty

Из справки к Word:
Цитата:
If you've gotten to the Find object from the Selection object, the selection is changed when text matching the find criteria is found. If you've gotten to the Find object from the Range object, the selection isn't changed when text matching the find criteria is found, but the Range object is redefined.
По-моему легче обойтись вообще без макросов, двумя заменами. Первой заменой меняем с подстановочными знаками любое число знаков (*), шрифт полужирный на искомый текст в тегах (<b>^&</b>), шрифт не полужирный. Второй заменой меняем без подстановочных знаков сочетание </b><b> на пустую строку.
Автор: Busyatka
Дата сообщения: 27.08.2004 15:15
Проблема: в документах Word появляются разные отступы текста (строк текста) снизу от колонтитулов. На одной странице текст доводится до самого низа, а на каких-то страницах он оставляет чуть ли не по сантиметру, а то и больше места до колонтитула. (Стили проверены, параметры страниц применены ко всему документу). Можно ли разрешить данную проблему в Word?
Спасибо.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

Предыдущая тема: Проблема с русскими именами файлов на IIS FTP сервере win 2k


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.