Вопросы с тегами [ms-word]

1

голосов
1

ответ
6.3k

Просмотры

save word document that's been created dynamically using SaveFileDialog?

У меня есть код, который записывает текст в документ Word (не-XML) и сохраняет его в файл. Теперь я пытаюсь изменить его так, что создается документ, и пользователь затем будет предложено сохранить документ. Это код для создания документа слова: объект промаха = System.Reflection.Missing.Value; Видимый объект = TRUE; Объект start1 = 0; Объект end1 = 0; Microsoft.Office.Interop.Word.Application WordApp = новый Microsoft.Office.Interop.Word.Application (); Документ aDocument = WordApp.Documents.Add (ссылка промах, исй промах, исй промах, исй промах); Диапазон RNG = aDocument.Range (исх start1, исх промах); попробуйте {rng.Font.Name = "Грузия"; rng.InsertAfter ( "Заголовок отчета!"); объект имя_файла = @ "C: \ Users \ test.doc"; aDocument.SaveAs (иое имя файл, иая барышня, исй промах, исй промах, исй промах, исй промах, исй промах, исй промах, исй промах, исй промах, исй промах, исй промах, исй промах, исй промах, исй промах, исй промах); объект SaveChanges = Microsoft.Office.Interop.Word.WdSaveOptions.wdPromptToSaveChanges; объект originalFormat = Microsoft.Office.Interop.Word.WdOriginalFormat.wdWordDocument; объект routeDocument = TRUE; ((_Document) aDocument) .close (SaveChanges, originalFormat, routeDocument); // закрыть документ процесса (winword.exe) //WordApp.Visible = TRUE; } Задвижка (Исключение ех) {MessageBox.Show (ex.Message); } Это работает, как ожидалось; он создает документ Word, и открывает его для пользователя. Я читал эту ссылку от Microsoft о сохранении файлов с помощью SaveFileDialog, но я не совсем уверен, как применить его к моей ситуации. Поскольку SaveFileDialog обеспечивает объект потока для записи в, я должен прочитать из файла Word, и записать его в поток? Если это так, я не знаю, как написать код, но, похоже, обходным путем. Есть ли способ, чтобы передать созданный документ Word, непосредственно к SaveFileDialog?
1

голосов
1

ответ
53

Просмотры

Давать уравнения конкретных чисел

Я новичок в VBA, и я бы очень признателен за помощь. Во-первых, я должен упомянуть, что я использую OFFICE 2016 года я использовал Macro запись, чтобы создать макрос, который копирует выделенный уравнение затем вставляет таблицу (один ряд, две колонки) и отрегулировать его, чтобы удалить границы. После того, что макро пасты скопированное уравнение в первой ячейке и перемещается в следующую ячейку и вставить пустое уравнение (которые пользователь вставляет нужное количество уравнения в нем). Он отлично работает, за исключением, пока он не достигнет стадии, где он должен вставить скопированный уравнение. Каждый раз, когда я запускаю макрос я получаю сообщение об ошибке времени выполнения: 6335 и макро-брейки, и когда я его отладки, это линия, которая нарушает процедуру: Selection.PasteAndFormat (wdFormatOriginalFormatting) после отладки, когда я нажал на кнопку продолжения / запуска, он завершает работу по мере необходимости. Ниже макрос я использую. Заранее спасибо. Sub MacroEQNUMBER () '' MacroEQNUMBER Macro '' Dim ГСЧ Как диапазона, если Selection.Range = "" Тогда Selection.HomeKey Unit: = wdLine Selection.EndKey Unit: = wdLine, Extend: = wdExtend End If Set RNG = Selection.Range RNG .Cut ActiveDocument.Tables.Add Диапазон: = Selection.Range, NumRows: = 1, NumColumns: = _ 2, DefaultTableBehavior: = wdWord9TableBehavior, AutoFitBehavior: = _ wdAutoFitFixed С Selection.Tables (1) Если .style "Таблица Энергосистемы" Тогда .style = "Таблица Сетка" End If .ApplyStyleHeadingRows = True .ApplyStyleLastRow = False .ApplyStyleFirstColumn = True .ApplyStyleLastColumn = False .ApplyStyleRowBands = True .ApplyStyleColumnBands = False .Borders.
Warlock-993
1

голосов
0

ответ
140

Просмотры

Получить по умолчанию Таблица стилей из документа Word (с VSTO добавить в)

Вопрос: Как я могу получить стиль таблицы по умолчанию для документа из C # VSTO надстройки? Или его имя, по крайней мере? Предостережения: Globals.ThisAddIn.Application.ActiveDocument.DefaultTableStyle не работает. Globals.ThisAddIn.Application.ActiveDocument.WordOpenXML не дает ответа. Длинная история: Когда я создаю шаблон и назначить свой собственный стиль (скажем, «MyStyle»), чтобы быть стилем таблицы по умолчанию, я могу видеть, что она отлично работает: новые таблицы получить созданный с этим стилем, если распаковать файл шаблона и перейдите к ~ \ слово \ settings.xml, это прямо там, ясно как день: (...) Однако, когда я пытаюсь получить доступ к стилю моей (C #) VSTO надстройки в документе, созданном на основе этого шаблона, я могу» т доступ к этой информации в любом случае. Globals.ThisAddIn.Application.ActiveDocument. DefaultTableStyle возвращает то, что я не могу показаться, чтобы определить, каким-либо образом. Вроде бы объект Microsoft.Office.Interop.Word.Style, но его свойство .LocalName пуста и пытается получить доступ к почти каждый другой собственности бросает исключение ... и если я осмотреть Globals.ThisAddIn.Application.ActiveDocument. WordOpenXML свойство я получаю: (...) ... так что один бит мне нужно магически отсутствует: /. Конечно, я сделал поиск по всей продукции WordOpenXML для «MyStyleID», а также его RSID и полное имя, но ничто не указывает, что это стиль по умолчанию! На самом деле, я могу видеть это в другом месте: Так что стиль TableNormal (на котором основан MyStyle) фактически указывается по умолчанию ... но когда я создаю таблицы, они получают MyStyle назначены, не TableNormal! Кто-нибудь, пожалуйста, сообщите ... Вроде бы объект Microsoft.Office.Interop.Word.Style, но его свойство .LocalName пуста и пытается получить доступ к почти каждый другой собственности бросает исключение ... и если я осмотреть Globals.ThisAddIn.Application.ActiveDocument. WordOpenXML свойство я получаю: (...) ... так что один бит мне нужно магически отсутствует: /. Конечно, я сделал поиск по всей продукции WordOpenXML для «MyStyleID», а также его RSID и полное имя, но ничто не указывает, что это стиль по умолчанию! На самом деле, я могу видеть это в другом месте: Так что стиль TableNormal (на котором основан MyStyle) фактически указывается по умолчанию ... но когда я создаю таблицы, они получают MyStyle назначены, не TableNormal! Кто-нибудь, пожалуйста, сообщите ... Вроде бы объект Microsoft.Office.Interop.Word.Style, но его свойство .LocalName пуста и пытается получить доступ к почти каждый другой собственности бросает исключение ... и если я осмотреть Globals.ThisAddIn.Application.ActiveDocument. WordOpenXML свойство я получаю: (...) ... так что один бит мне нужно магически отсутствует: /. Конечно, я сделал поиск по всей продукции WordOpenXML для «MyStyleID», а также его RSID и полное имя, но ничто не указывает, что это стиль по умолчанию! На самом деле, я могу видеть это в другом месте: Так что стиль TableNormal (на котором основан MyStyle) фактически указывается по умолчанию ... но когда я создаю таблицы, они получают MyStyle назначены, не TableNormal! Кто-нибудь, пожалуйста, сообщите ... LocalName свойство пусто и пытается получить доступ к почти каждый другой собственности бросает исключение ... и если я осмотреть Globals.ThisAddIn.Application.ActiveDocument.WordOpenXML имущество я получаю: (...) ... так что один бит мне нужно волшебно отсутствует: /. Конечно, я сделал поиск по всей продукции WordOpenXML для «MyStyleID», а также его RSID и полное имя, но ничто не указывает, что это стиль по умолчанию! На самом деле, я могу видеть это в другом месте: Так что стиль TableNormal (на котором основан MyStyle) фактически указывается по умолчанию ... но когда я создаю таблицы, они получают MyStyle назначены, не TableNormal! Кто-нибудь, пожалуйста, сообщите ... LocalName свойство пусто и пытается получить доступ к почти каждый другой собственности бросает исключение ... и если я осмотреть Globals.ThisAddIn.Application.ActiveDocument.WordOpenXML имущество я получаю: (...) ... так что один бит мне нужно волшебно отсутствует: /. Конечно, я сделал поиск по всей продукции WordOpenXML для «MyStyleID», а также его RSID и полное имя, но ничто не указывает, что это стиль по умолчанию! На самом деле, я могу видеть это в другом месте: Так что стиль TableNormal (на котором основан MyStyle) фактически указывается по умолчанию ... но когда я создаю таблицы, они получают MyStyle назначены, не TableNormal! Кто-нибудь, пожалуйста, сообщите ... поэтому один бит мне нужно магически отсутствует: /. Конечно, я сделал поиск по всей продукции WordOpenXML для «MyStyleID», а также его RSID и полное имя, но ничто не указывает, что это стиль по умолчанию! На самом деле, я могу видеть это в другом месте: Так что стиль TableNormal (на котором основан MyStyle) фактически указывается по умолчанию ... но когда я создаю таблицы, они получают MyStyle назначены, не TableNormal! Кто-нибудь, пожалуйста, сообщите ... поэтому один бит мне нужно магически отсутствует: /. Конечно, я сделал поиск по всей продукции WordOpenXML для «MyStyleID», а также его RSID и полное имя, но ничто не указывает, что это стиль по умолчанию! На самом деле, я могу видеть это в другом месте: Так что стиль TableNormal (на котором основан MyStyle) фактически указывается по умолчанию ... но когда я создаю таблицы, они получают MyStyle назначены, не TableNormal! Кто-нибудь, пожалуйста, сообщите ... они получают MyStyle назначены, не TableNormal! Кто-нибудь, пожалуйста, сообщите ... они получают MyStyle назначены, не TableNormal! Кто-нибудь, пожалуйста, сообщите ...
Jacek Kołodziejek
1

голосов
1

ответ
1.2k

Просмотры

Копирование данных из документа Word Использование Excel VBA

У меня есть файл Excel, что это имеет имя файла текстового документа. Я хочу использовать Excel VBA, чтобы открыть текстовый документ, а затем искать конкретную фразу, скопируйте символы после этой фразы, и вставить его обратно в оригинальный Excel файл. Я попытался несколько способов реализации этой конструкции, с небольшим успехом. Ниже моя последняя попытка. Моя главная проблема в том, что программа, как правило, просто останавливается, когда она попадает Мой с заявлением. Почему это происходит, и как это исправить вещи так, что код работает? Спасибо! Dim objWord как функция объекта insertPrice (cmpNm As Variant) «получить имя файла из компании первенствовать ячейки и преобразовать его в текст Dim compName As String = compName cmpNm.Text 'предложение вызова OpenDoc открытого общества (compName) End Function Sub OpenDoc (compName)'
msf
1

голосов
1

ответ
1.1k

Просмотры

C# Line Spacing in Word Interop

Я пытаюсь создать текстовый документ, в котором межстрочный интервал установлен в «No Spacing», или один интервал. Я честно не знаю, почему это так трудно. Я попробовал все эти примеры не повезло: Пункт para1 = document.Content.Paragraphs.Add (ссылка отсутствует); para1.LineSpacingRule = WdLineSpacing.wdLineSpaceExactly; para1.LineSpacing = 1; para1.Format.SpaceBefore = 5; para1.Format.SpaceAfter = 0; para1.Range.Font.Name = "Times New Roman"; para1.Range.Font.Size = 12; para1.Range.Text = "Г-н Джон Доу" + Environment.NewLine + "Адрес" + Environment.NewLine + "Anytown, AnyCity 12345"; Пункт para1 = document.Content.Paragraphs.Add (ссылка отсутствует); para1.LineSpacingRule = WdLineSpacing.wdLineSpaceSingle; para1.Format.SpaceBefore = 5; para1.Format.SpaceAfter = 0; para1.Range.Font. Name = "Times New Roman"; para1.Range.Font.Size = 12; para1.Range.Text = "Г-н Джон Доу" + Environment.NewLine + "Адрес" + Environment.NewLine + "Anytown, AnyCity 12345"; Пункт para1 = document.Content.Paragraphs.Add (ссылка отсутствует); para1.LineSpacingRule =; para1.Format.SpaceBefore = 5; para1.Format.SpaceAfter = 0; para1.Range.Font.Name = "Times New Roman"; para1.Range.Font.Size = 12; para1.Range.Text = "Г-н Джон Доу \ rAddress \ rAnytown, AnyCity 12345"; Пункт para1 = document.Content.Paragraphs.Add (ссылка отсутствует); para1.LineSpacingRule =; para1.Format.SpaceBefore = 5; para1.Format.SpaceAfter = 0; para1.Range.Font.Name = "Times New Roman"; para1.Range.Font.Size = 12; para1.Range.Text = "Г-н Джон Доу \ rnAddress \ rnAnytown, AnyCity 12345"; Я, очевидно, что-то отсутствует, потому что каждый пример оказывается точно такой же. Существует дополнительное расстояние между каждой строкой адреса. Кто-нибудь знает, как сделать эту работу?
Mark Bonafe
1

голосов
1

ответ
77

Просмотры

Как форматировать нумерованные списки из латекса DOCX

У меня есть несколько сотен документов Word, чтобы генерировать из источников латекса, TEX в DOCX. Pandoc прекрасно работает с одним небольшим импульсом ложного - нумерованных списков в LaTeX воспроизводимые с римскими цифрами в выходных DOCX файлов. Я не могу найти любую документацию, которая решает эту проблему, и текстовые документы со списками пронумерованных римскими цифрами, не являются приемлемыми с моим приложением. Кто-нибудь есть идеи, где документация на это? Мои списки латексных как обычно \ {начинают перечислять} \ пункт Первого \ конец {перечислить}
ccc31807
1

голосов
1

ответ
43

Просмотры

я хочу, чтобы создать код VBA в Слове, которое будет создавать несколько файлов слов с разными именами файлов

Я хочу создать несколько сохраняет одного и того же файла слово с помощью Visual Basic. каждый файл должен будет называться с днем ​​месяца и названия месяца (не числа) я хочу, чтобы это работать с 1 по 31 на каждый месяц. У меня есть грубый код, Sub Mine () Dim СТРОКЕ-ДАТЫ, FileStr As String = СТРОКА-ДАТЫ Формат $ (Дата, "DD") FileStr = СТРОКА-ДАТЫ и ".docx" ActiveDocument.Save ChangeFileOpenDirectory «Z: \ FIR MASTER FOLDER \ FCR брифинг листа \ 2018 \ Test»ActiveDocument.SaveAs2 FileName: = FileStr, FileFormat: = wdFormatXMLDocument End Sub Теперь как я добавить петлю и день, и месяц формата часть
Nick Freeman
1

голосов
1

ответ
216

Просмотры

Сохранение форматирования при слиянии текстовых документов в C #

Я искал и не смог найти правильное решение. У меня есть несколько документов слов я хочу объединить. Когда я иду, чтобы объединить теряю форматирование страницы (одинарный межстрочный интервал и 0pt для пространства до и после того, как пространство) Когда я сливаю эти параметры возвращаются к многострочным и 8pt для пространства после. Итак, я создал шаблон пустой страницы, но после слияния она все равно не будет поддерживать форматирование. Класс Word_Merge {государственной статической силы Объединить (строка [] filesToMerge, строка имя_выходного_файла, BOOL insertPageBreaks) {Word._Application wordApplication = новый Word.Application (); объект PAGEBREAK = Word.WdBreakType.wdSectionBreakNextPage; объект файл_вывод = имя_выходного_файл; объект имя_файла = @ "S: \ template.docx"; объект конец = Word.WdCollapseDirection.wdCollapseEnd; попробуйте {wordApplication.Visible = ложь; Word.Document Worddocument = wordApplication.Documents.Add (ссылка имя_файла); Выбор Word.Selection = wordApplication.Selection; wordDocument.PageSetup.TopMargin = (поплавок) 50; wordDocument.PageSetup.RightMargin = (поплавок) 50; wordDocument.PageSetup.LeftMargin = (поплавок) 50; wordDocument.PageSetup.BottomMargin = (поплавок) 50; selection.ParagraphFormat.LineSpacingRule = Word.WdLineSpacing.wdLineSpaceSingle; selection.ParagraphFormat.SpaceAfter = 0.0f; selection.ParagraphFormat.SpaceBefore = 0.0f; Еогеасп (строка файла в filesToMerge) {если (file.Contains ( "Scores.docx")) {selection.PageSetup.PaperSize = Word.WdPaperSize.wdPaper11x17; выбор. Коллапс (см конец); } Selection.InsertFile (файл); если (file.Contains ( "Scores.docx") && insertPageBreaks!) {selection.InsertBreak (PAGEBREAK); }} wordDocument.SaveAs (ссылка OUTPUTFILE); Worddocument = NULL; } Задвижка (Исключение ех) {бросить ех; } Наконец {wordApplication.Quit (); }}} Уволиться(); }}} Уволиться(); }}}
RyanC
1

голосов
1

ответ
341

Просмотры

Невозможно получить текст в ContentControl в Слове usting Python-DOCX

ContentControl Document Я новичок в Python и кодирования. New У меня есть проблема, и нужна ваша помощь. Я пытался читать DOCX документ с помощью Python-DOCX, но весь текст я хотел были в ContentControl. Когда я пытаюсь напечатать текст пункта с ContentControl, возникает ошибка. Для Exemple, я пытаюсь напечатать 1-й paragraphe, используя импорт DOCX, DOC = docx.Document ( "C: \ ContentControl.docx") р = doc.paragraphs печать (р [0] .text), то я получаю сообщение об ошибке, как: UnicodeEncodeError: «GBK» кодек не может кодировать символ «\ xa0» в позиции 8: незаконной последовательности многобайтном Так что я должен сделать, чтобы получить текст в ContentControl? Большое спасибо за вашу помощь!
You Yangyang
1

голосов
0

ответ
77

Просмотры

Слово Интернет: Разрыв строки Issue

Последняя пара дней мы начали видеть дополнительные перерывы ссылки создается, когда ссылки будут удалены. Это было хорошо работать до последних дней. Ниже дополнительных деталей В прилагаемом изображении, на левой стороне, мы не видим дополнительных DIV. Но справа, мы видим дополнительный элемент DIV. Это не присутствовал раньше. Были ли какие-либо обновления толкнули, что изменили эту функцию? Пожалуйста, дайте мне знать, если вам нужна любая другая информация
Sujit
1

голосов
0

ответ
217

Просмотры

VBA код, чтобы изменить Microsoft Word Document Classification

Я очень извиняюсь за вопрос новичка. Я искал в Интернете в течение нескольких часов, и попробовал множество вариантов, чтобы увидеть, если я могу это сделать, но не получил очень далеко. Для того, чтобы начать этот вопрос, я должен сказать, что я не являюсь VBA кодировщика любой натяжки, но я создал документ на рабочее место, который использует Rich управление содержимым текста (для обеспечения руководящих принципов в документе, обеспечивающей согласованности), наследие поля формы (чтобы позволить мне вставить информацию в наборе поле на основе выбора) и т.д. Этот документ требует защит (и пароля), чтобы остановить любое редактирование его и позволить наследию поля формы работы. Я доказал, что документ работает около 1000 документов завершены до сих пор. Я ценю это, вероятно, не опрятные решения, но компания счастлива с ним. Побочным продуктом защиты является то, что классификация документ не может быть изменен конечным пользователем. По неизвестным мне причинам, компания хочет иметь «чистый» документ, который будет указан как «внутреннее», в то время как завершенный документ должен быть «ограничен». Поскольку документ защищен он выдает ошибку о том, что исходный документ имеет другую классификацию и связаться с владельцем (меня). До сих пор, по брусчатке вместе некоторой информации, которую я нашел в Интернете, мне удалось получить всплывающее окно (с помощью пользовательской формы), чтобы показать при сохранении документа. Я просто не могу использовать эти выборы, чтобы изменить классификацию документов. Насколько я могу судить, система классификации является стандартным вариантом Microsoft (не программное обеспечение третьей стороной) Мой вопрос, это может быть сделано с помощью VBA, даже если я должен иметь код удаления пароля, а затем повторно ввести пароль. (Я делал это для некоторых других макросов на документе. Так что я знаю, что много). Если это возможно, вы можете мне точку в направлении, где начать.
StuckwithVBA
1

голосов
1

ответ
99

Просмотры

VBA «стиль () LinkToListTemplate ListTemplate: = Nothing» в C # слово Interop

Существует слово VBA метод «стиль (» стиль «) LinkToListTemplate ListTemplate:. = Nothing», который используется, чтобы установить стиль нумерации в None. Моя проблема заключается в том, что я не могу найти то же самое в C # слово Interop. Метод существует, но не работает с style.LinkToListTemplate (нуль).
Thucasimp
1

голосов
2

ответ
196

Просмотры

Как разбить документ Word (DOCX или RTF), используя стиль Заголовок1 как раскол

У меня есть большой файл я разбит на множество отдельных файлов в формате RTF с этим слегка измененным кодом я получил в Интернете. Проблема заключалась в том, я не хочу, чтобы включить Heading 1 текст в выходном файле. Однако Heading 1 данные используются для создания файла каждого выходного документа. Это формат файл я раскалываю к новым файлам. 1.1.1 Это будет отмечен стиль Заголовок1 какой-нибудь текст в здесь какой-нибудь текст в здесь какой-нибудь текст в здесь какой-нибудь текст здесь 1.1.2 Это будет отмечено Заголовок1 стилю текст здесь какой-нибудь текст в здесь какой-нибудь текст в здесь какой-нибудь текст здесь 1.1.3 Это будет отмечен стиль Заголовок1 какой-нибудь текст в здесь какой-нибудь текст в здесь какой-нибудь текст в здесь какой-нибудь текст в здесь ========================= ================================================== ==== Так что выходы файлы с именем 1.1.1.rtf, 1.1.2.rtf и т.д., и будет содержать только текст тела, но нет заголовка. повторяется до конца Любое руководство будет оценено. Sub aSplitOnHeadings () '' SplitOnHeadings Macro '' Application.ScreenUpdating = False Dim StrTmplt As String, StrPath As String, StrFlNm As String ГСЧ As Range, Doc в качестве документа, я As Long, расширение As String = "расширение .rtf" ' Джон добавил, чтобы мы могли иметь 1.1.1 для ссылок с ActiveDocument StrTmplt = .AttachedTemplate.FullName StrPath = .Path & "\" С .Range С .find .ClearFormatting .Replacement.ClearFormatting .text = "" .style = «Heading 1" .Replacement.Text = "" .forward = True .wrap = wdFindStop .Format = True .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False.
JPG
1

голосов
0

ответ
84

Просмотры

Вставка оглавления в документ Word из Excel VBA

У меня есть рабочий лист Excel, который имеет список ссылок на HTML файлы. Я перебрать эти HTML-файлы и вставить каждый файл в текстовый документ, создавая заголовок 1 ссылки, которые я позже использовать для создания ТОС. Сейчас все работает с Excel VBA кроме ТОС части, я могу создать ТОС вручную, используя слово> ссылки> вставки оглавления. Однако код VBA для TablesofContents.Add выдаст сообщение об ошибке «Ошибка времени выполнения 13 - Тип mismacth» Если я удалить код остальное TOC VBA макросов прогонов, как я ожидал. Не совсем уверен, что это неправильно с кодом. Sub Macro3 () Dim rngA Как Range Dim Клетка как Range Set FSO = CreateObject ( "Scripting.FileSystemObject") 'Нужно это, чтобы взаимодействовать с файловой системой окна Set БВ = CreateObject ( "Word.Application")'
Ashr
1

голосов
1

ответ
178

Просмотры

заполнить шаблон слов (с повтором) из Excel

У меня есть данные в таблицу Excel, что я хочу, чтобы включить в отчет в Word. В Excel, одна строка = одна запись данных. В Word, каждая строка приведет к блоку макета. Есть много линий, я хочу, чтобы определить шаблон один раз и есть то, что функция импорта из Excel дублировать его так часто, как это необходимо. MailMerge, AFAIK, создает раздельные документы. Это не то, что мне нужно, мне нужно несколько блоков в одном документе. Не удалось найти решение до сих пор, все указывает на меня MailMerge. В соответствии с предложением, пример: В Excel: TEST - РЕЗУЛЬТАТ - ПРИЧИНА - КОММЕНТИРОВАТЬ Проверить - не удалось - отсутствует Foo - установить Foo в следующий раз Check B - успеха - хорошо - работал разработан Check C - успех - в основном хорошо - работали, но может быть улучшено в Word: Test Report Номер проверки: Проверить результаты проверки: не удалось (отсутствует Foo) комментарий: установить следующий раз Foo Вы получаете идею.
Tom
1

голосов
0

ответ
117

Просмотры

Получить отступа Документ Word

Я использую Interop.Word для моего приложения. Итак, мой вопрос, как я могу получить правильное значение отступа? Я попытался WordDocument.Paragraphs.RightIndent, но она возвращает количество очков (99999 что-то подобное). Я не понимаю, откуда это значение берется. Или, может быть, есть ли простой способ программно поставить некоторые символы до конца абзаца?
Dmitry
1

голосов
0

ответ
31

Просмотры

добавить закладку MS Word с помощью pandoc

уценки файлы, обработанные с помощью pandoc, конечно, могут иметь перекрестные ссылки, называемые ссылки, такие как [текст] (# ссылка) Вопрос заключается в том, чтобы добавить MS Word «закладку»? Есть специальный «плагин» или «фильтр», чтобы сделать это? такие, как псевдокод [текст] (# this_is_a_ms_word_bookmark)
Zhe Hu
1

голосов
2

ответ
579

Просмотры

Покажите слово UserForm на панели задач с применением скрытой

Использование документа MS Word, я используя UserForm для персонала, чтобы завершить оценку. Этот документ будет завершен многочисленными пользователями (200+) в разное время. У меня есть форма и документ работает хорошо, однако я пытаюсь манипулировать пряча документ, но сохраняя UserForm показано, загромождать и избежать документа маскировки других приложений, когда UserForm находится в фокусе. Когда сотрудник открывает документ Word, открывает UserForm авто: Private Sub Document_Open () Dim Myform Как frmAssessment1 Set Myform = frmAssessment1 myForm.Show (0) End Sub При открытии UserForm: Private Sub UserForm_Initialize () «Эта вкладка определяет 0 будет отображаться. Me.MultiPage1.Value = 0 «Это скрывает MS Word, но остается открытым в фоновом режиме. Application.Visible = False Dim Question1 As String ' Заполняет выпадающий за номер команды selection_ 'с массивом (в настоящее время 1-30). cmbTeamNum.List = Array (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) 'присваивает текстовый диапазон определенной закладки ( "X") к переменной Вопрос1 = ActiveDocument.Bookmarks ( "Вопрос1"). Range.Text' присваивает каждому переменный в поле метки заголовка. С Выбор lblQ1.Caption = Question1 End With End Sub Application.Visible = False работает для меня кроме не показывая присутствие Слова (или UserForm) на панели задач, которые я предвидя быть проблема, поскольку каждый пользователь будет иметь несколько другие открытые приложения, и это, скорее всего, некоторые из них будут «потерять» в UserForm. Я попытался с помощью ActiveDocument. WindowState = wdWindowStateMinimize, хотя, как слово не спрятался это приводит к тому, документ вступит в центре внимания, когда UserForm активен, который может маскировать другие применения используются и причиной плохого пользовательского опыта. Другой, чем найти метод WindowState, я не обнаружил какие-либо другие способы добиться того, что я после того, как ни я нашел способ создания кнопки / значка панели задач для UserForm (хотя есть много информации для Excel там ). Я правильно говорю: Там нет никакого способа, чтобы иметь только UserForm шоу и до сих пор / значок кнопки на панели задач -или- нет никакого способа, чтобы создать значок на панели задач для UserForm? Если я не правильно, как я могу добиться этого? т спрятан это приводит к тому, документ для фокусировки, когда UserForm активен, который может маскировать другие применения используются и причиной плохого пользовательского опыта. Другой, чем найти метод WindowState, я не обнаружил какие-либо другие способы добиться того, что я после того, как ни я нашел способ создания кнопки / значка панели задач для UserForm (хотя есть много информации для Excel там ). Я правильно говорю: Там нет никакого способа, чтобы иметь только UserForm шоу и до сих пор / значок кнопки на панели задач -или- нет никакого способа, чтобы создать значок на панели задач для UserForm? Если я не правильно, как я могу добиться этого? т спрятан это приводит к тому, документ для фокусировки, когда UserForm активен, который может маскировать другие применения используются и причиной плохого пользовательского опыта. Другой, чем найти метод WindowState, я не обнаружил какие-либо другие способы добиться того, что я после того, как ни я нашел способ создания кнопки / значка панели задач для UserForm (хотя есть много информации для Excel там ). Я правильно говорю: Там нет никакого способа, чтобы иметь только UserForm шоу и до сих пор / значок кнопки на панели задач -или- нет никакого способа, чтобы создать значок на панели задач для UserForm? Если я не правильно, как я могу добиться этого? м после того, как ни я нашел способ создания кнопки / значка панели задач для UserForm (хотя есть много информации для Excel там). Я правильно говорю: Там нет никакого способа, чтобы иметь только UserForm шоу и до сих пор / значок кнопки на панели задач -или- нет никакого способа, чтобы создать значок на панели задач для UserForm? Если я не правильно, как я могу добиться этого? м после того, как ни я нашел способ создания кнопки / значка панели задач для UserForm (хотя есть много информации для Excel там). Я правильно говорю: Там нет никакого способа, чтобы иметь только UserForm шоу и до сих пор / значок кнопки на панели задач -или- нет никакого способа, чтобы создать значок на панели задач для UserForm? Если я не правильно, как я могу добиться этого?
Samuel Everson
1

голосов
1

ответ
53

Просмотры

Как создать свой стиль Linked (абзацев и символов) в MS Word с использованием OpenXml.Wordprocessing и C #

Как создать свой стиль Linked (абзацы и символы) в MS Word с использованием OpenXml.Wordprocessing и C #: Я хотел бы изменить этот кусок кода для создания связанного стиля InstEd стиля символов: StyleDefinitionsPart часть = document.MainDocumentPart.StyleDefinitionsPart; Стили стили = part.Styles; Стиль стиль = новый стиль () {StyleId = "somestyle", CustomStyle = истина}; style.Append (новый StyleName () {Val = "somestyle"}); style.Append (новый BasedOn () {Val = "Нормальный"}); style.Append (новый NextParagraphStyle () {Val = "Нормальный"}); style.Append (новый UIPriority () {Val = 900}); StyleRunProperties styleRunProperties = новые StyleRunProperties (); Цвет цвет1 = новый цвет () {Val = "somecolor"}; FontSize fontSize1 = новый FontSize (); fontSize1.Val = новый StringValue (customStyle.FontSize); styleRunProperties.Append (цвет1); styleRunProperties.Append (fontSize1); style.Append (styleRunProperties); styles.Append (стиль); Любая идея?
Lukasz
1

голосов
1

ответ
102

Просмотры

Как предотвратить Слово надстройки от исчезновения, когда я перезагрузка Слова?

Я часто нахожу, что Слово Addins загружен на исчезнуть после перезапуска Word, или открыть новые документы. Я sideload с помощью этого метода: https://docs.microsoft.com/en-us/office/dev/add-ins/testing/create-a-network-shared-folder-catalog-for-task-pane-and- контент-надстроек Как установить надстройки так, что они сохраняются, когда слово будет перезапущен?
Fergie
1

голосов
1

ответ
37

Просмотры

VBA - модификации, нижние колонтитулы - Unlink к предыдущей

Я пытаюсь создать макрос, который создает новую страницу с различной ориентацией, а с другой табулированием. У меня есть этот код: Selection.InsertBreak Тип: = wdSectionBreakNextPage Если Selection.PageSetup.Orientation = wdOrientPortrait Then MsgBox "OK" Else Selection.PageSetup.Orientation = wdOrientPortrait ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter Selection.HeaderFooter.LinkToPrevious = Не Выбор .HeaderFooter. . _ LinkToPrevious Selection.ParagraphFormat.TabStops.ClearAll Selection.ParagraphFormat.TabStops (CentimetersToPoints (18)) Позиция = _ CentimetersToPoints (18,5) Selection.ParagraphFormat.TabStops.Add Позиция: = CentimetersToPoints (9.5), _ Выравнивание: = wdAlignTabCenter, Leader : = wdTabLeaderSpaces ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument End If Selection. Стиль = ActiveDocument.Styles ( «Annexe1») К сожалению, это меняет табличные данные на странице непосредственно перед. Есть ли способ я могу решить эту проблему? Я пробовал функцию Goto, со страницей, раздел, ... но это не делает трюк. Спасибо !
user2918049
1

голосов
1

ответ
88

Просмотры

Как заблокировать все поля (CTRL-A, CTRL-F11) на слово документ с помощью Open XML SDK в C #

У меня есть текстовый документ, содержащий макросы, которые закачиваются образуют третью сторону. После того, как документ будет сохранен и открыт, он выглядит великолепно, но когда я иду, чтобы распечатать его, он теряет данные, примененные с макро и показывает «Error! Reference источника не найден!». Я обнаружил, что если я нажимаю CTRL-A и CTRL-F11, он будет блокировать все поля. После этого я иду к печати и мои данные есть. Я хотел бы использовать Open XML SDK утилиту, чтобы загрузить этот документ и применить этот замок к слову документ перед его сохранением. Это возможно? У меня есть загрузка документа, но я просто не могу найти, как установить поля заблокированы.
Rob Stewart
1

голосов
1

ответ
283

Просмотры

Xceed слова получить свойства пункта шрифта

Мне нужно, чтобы получить цвет, размер шрифта и шрифт из указанного ниже пункта (Заголовок1). Я посмотрел на Как получить пункт Fontname с DLL Docx? но детали и цвет шрифта возвращается пустой / пустой. Любая помощь или предложения будут оценены. dummyDocument.ApplyTemplate (wordStyleTemplate); dummyDocument.InsertParagraph ( "Заголовок1") StyleName = "Заголовок1". dummyDocument.Save (); dummyDocument.SaveAs (@ "C: \ DEV \ StyleTest.docx"); . Вар templateHeading1 = dummyDocument.Paragraphs.ToList () FirstOrDefault (х => x.StyleName == "Заголовок1"); вар цвет = templateHeading1.MagicText [0] .formatting.FontColor; // возвращает нулевое значение
Pieter Alberts
1

голосов
1

ответ
79

Просмотры

Split () на новой линии в VBA специально Макросы в Слове

Я пытаюсь создать макрос, который считывает содержимое ячеек таблицы, а затем разбивает данные на новую строку, а затем отправляет их в функции поэлементно. Данные в моей клетке (1,1), как, например: мой сценарий выглядит, как показано ниже Sub Test () Dim х As Variant Dim Lst () As String Dim TBL В таблице Dim я As Integer Set TBL = ActiveDocument.Tables (1) х = tbl.Cell (1, 1) .Range.Text 'х = "Left" и vbCrLf и "Центр" и vbCrLf и "правый" MsgBox х Lst = Split (х, vbCrLf)'
H. Shah
1

голосов
0

ответ
32

Просмотры

Неправильное кодирование файлов Word, загружены на мой сервер и обрабатываются PHP скрипт

У меня есть простая функция (не мой друг, на самом деле), который открывает и читает Word 97-2003 файлы .doc: функция docToText ($ arrayOfFileProperties) {$ pathToFile = $ arrayOfFileProperties [1]; $ Ответ = ''; (! ($ Fh = FOPEN ($ pathToFile, 'г')) == ложь), если (file_exists ($ pathToFile)) {если {$ заголовков = Fread ($ ФХ, 0xA00); $ N1 = (Ord ($ заголовки [0x21C]) - 1); $ n2 = ((Ord ($ заголовки [0x21D]) - 8) * 256); $ N3 = ((ORD ($ заголовки [0x21E]) * 256) * 256); $ n4 = (((Ord ($ заголовки [0x21F]) * 256) * 256 * 256)); $ TextLength = ($ n1 + n2 + $ $ n3 + n4 $); $ Extracted_plaintext = Fread ($ ФХ, $ textLength); вернуться mb_convert_encoding ($ extracted_plaintext,» ISO-8859-5' ); }} $ PathToFile является собственностью холдинга загруженного файла .doc. Файл открывается с помощью FOPEN метода, а затем он получает Fread-й изд. Когда люди загружать файлы, содержащие латиницу, то результирующая строка абсолютно нормально (UTF-8). Но, у меня есть пользователи, которые иногда могут загружать русские файлы .doc, и в этом случае я получаю строку бреда, и различные российские декодирования порталы говорят мне, что это UTF-8 кодировка текст кириллицы. Я понимаю, что это происходит потому, что PHP не знает кодировку русских загружаемых файлов, он просто использует кодировку UTF-8, чтобы просто дать мне хоть что-то. И, как вы видите, я пытаюсь кодировать вывод в ISO-8859-5 (почему именно эта кодировку? См ниже). Дело в том, что вы можете использовать https://www.artlebedev.ru/decoder/, например, чтобы попытаться обнаружить кодировку вашего кириллического текста. Он успешно преобразует мой UTF-8 кодировку русского текста в совершенно читаемый русский ISO-8859-5, поэтому, естественно, я пытался использовать эту информацию преобразования, чтобы попытаться де-коду вывода моей функции, так что я могу видеть кириллица правильно. Чтобы без толка, на самом деле. Ни mb_convert_encoding, ни Iconv способны преобразовать свою тарабарщину в читаемом тексте на русском языке, даже если я указываю «ISO-8859-5» в качестве целевой кодировке. Более того, насколько я могу судить, это даже не важно, какую цель кодирования я положил там mb_convert_encoding или Iconv методы - текст не меняется. Я все еще получаю UTF-8 бред моего кириллического текста. Есть ли способ, чтобы манипулировать кодировки в моем случае? Дело в том, что у нас есть 3 или 4 кириллических кодировок, с один или два будучи почти всегда. Я что-то пропустил? Спасибо!
Vadim Anisimov
1

голосов
0

ответ
21

Просмотры

Иврит НСД шрифта метки не правильно установлены в Слове

Я модифицирование шрифта Unicode иврита с помощью FontForge. Я добавил глиф на U + 05C9 в диапазоне Hebrew PUA и назвал его «dageshhazaq». Я скопирована в этот глифе глиф для U + 5ВСА «дагеш» (в том числе всех якорей) и приступила к добавить «dageshhazaq» для всех таблиц поиска, содержащих «дагеш». В окне Метрики, знак «dageshhazaq» отображается правильно, в пределах базового глифа. Однако, после создания шрифта и собирается Word, я могу вставить «dageshhazaq», но это не правильно установлены. Я правильно, что проблема заключается не в шрифте, но Слово? Как это исправить? Спасибо!
Hayyim
1

голосов
1

ответ
72

Просмотры

VBA Слово: Недвижимость Revision.Style dosn't работа

Когда я пытаюсь изменить некоторые стили (например TextColor) в ревизии объекта я получаю ошибку Run-Time «5852» (запрашиваемый объект не доступен). Я использовал ActiveDocument.Revisions (я) .style ... Другие свойства доступны (автор, создатель, тип, ...). Btw: Я действительно хочу изменить стиль от пересмотра (не обычный текст). Испытано в Word 2010 и 2016 редактирования: немного подробнее: Я пытаюсь изменить цвет изменений, которые отображаются. Слово устанавливает его automically по умолчанию. Но вы не можете выбрать, какой цвет Слово присваивает рецензентов (См этой ссылке) К сожалению, это именно то, что я хочу сделать. Так что я пытался сделать это с помощью VBA и на самом деле есть свойство стиля для объекта пересмотра, но я получаю ошибку 5852 в соответствии с ActiveDocument.Revisions (I) тест Sub .style () = 1, пока я
Robson
1

голосов
1

ответ
28

Просмотры

Как оставить выбор в поле комментария после добавления комментария

Я знаю, как добавить комментарий с помощью VBA, но когда я использую мой код selection.Range.comments.Add Range: = selection.Range, Текст: = «», чтобы создать комментарий, то выбранный диапазон находится в главном теле текста , Однако, если я использую конечных пользователей «Добавить комментарий» команду меню, встроенный в MS Word, после создания комментария Выбор в комментарии части, так что я могу начать печатать. Как я могу сделать то же самое с моим кодом: после создания комментария, выбор в замечании части / «коробки»?
kerry
1

голосов
2

ответ
237

Просмотры

VBA Word - итерация по пунктам, чтобы установить стиль

У меня есть простой скрипт, который проходит через и устанавливает стиль для всех абзацев, начиная с определенным характером. Легко, подумал я. Это меняет все пункты так что они имеют те же свойства, что и «Подробности» Стиль. Но по какой-то причине только последний абзац заканчивается «Подробности», как его стиль и все те, прежде чем вернуться к «нормальной». Вот мой код до сих пор: Sub Format_doc () Dim TXT As String Для каждого номинала В ActiveDocument.Paragraphs TXT = par.Range.Text Если левый (.txt, 1) = "/" Тогда par.Style = "Подробности" par.Range .Text = Right (.txt, Len (TXT) - 1) End If Next End Sub Я хотел бы, чтобы держать их прикреплены к стилю, потому что переключение «скрытый» свойства шрифта в другой макрос. Я' должно буду переключать это скрытое свойство для этих пунктов по-и- несколько раз и назначение единого стиля абзаца казалось простым решением. Вот другой код: Sub Toggle_hidden () ActiveDocument.Styles ( "Подробности") Font.Hidden = Не ActiveDocument.Styles ( "Подробности") Font.Hidden End Sub Solutions..? Я работаю на Mac, но в конечном счете, это будет в конечном итоге на Windows.
Neumastic
1

голосов
1

ответ
67

Просмотры

Replace an image with a different image and align text boxes in Word using VBA

Я пытался заменить название изображения на большом количестве текстовых документов с помощью записанного макроса и заменить колонтитул изображение. Тем не менее, когда я запускаю макрос на новый документ, он не заменяет изображения и удаляет текст из текстового поля. Это не касается нижнего колонтитула изображения на всех. Я использовал основные записанные макросы в прошлом, но не заменить изображения или изображения в сноске. Друг упомянул, что VBA может понадобиться, чтобы вставить изображение, но я меньше, чем новичок на этом языке. . Sub BrandingUpdateV2 () '' BrandingUpdateV2 Macro '' ActiveDocument.Shapes.Range (Array ( "Text Box 2")) Выберите Selection.TypeBackspace Selection.MoveDown Unit: = wdLine, Count: = 4 Selection.MoveDown Unit: = wdLine, Count: = 13 Selection.MoveUp Unit: = wdLine, Count: = 3 Если ActiveWindow.View. SplitSpecial wdPaneNone Тогда ActiveWindow.Panes (2) .close End If Если ActiveWindow.ActivePane.View.Type = wdNormalView Или ActiveWindow. _ ActivePane.View.Type = wdOutlineView Тогда ActiveWindow.ActivePane.View.Type = wdPrintView End If ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument Selection.MoveDown Unit: = wdLine, Count: = 42 Selection.MoveUp Единица: = wdLine, Count: = 10 Selection.MoveDown Единица: = wdLine, Count: = 1 Если ActiveWindow.View.SplitSpecial wdPaneNone Тогда ActiveWindow.Panes (2) .close End If If ActiveWindow.ActivePane.View.Type = wdNormalView Или ActiveWindow. _ ActivePane.View.Type = wdOutlineView Тогда ActiveWindow.ActivePane.View.Type = wdPrintView End If ActiveWindow.ActivePane.
adzied
1

голосов
1

ответ
44

Просмотры

VSTO C # Слово происходит сбой после вставки растрового изображения в колонтитул

Написание надстройки. Попытка поместить изображение в колонтитуле документа Word, из .resx файла. Поскольку InlineShapes.addPicture требует путь к файлу, понял, что я мог бы использовать буфер обмена вместо того, чтобы вставить картинку (только временно), но слово продолжает защемления при Paste () используется. он выходит с кодом 0 (0x0). Вот код: частная пустота placeFooterNavigationOnce () {Word.Range footerRange = Globals.ThisAddIn.Application.ActiveDocument.Sections [1] .Footers [Word.WdHeaderFooterIndex.wdHeaderFooterPrimary] .Range; Clipboard.SetImage (Resource1.Brackets); footerRange.Select (); Globals.ThisAddIn.Application.Selection.Paste (); } Edit- Дополнительная информация: inlineShapes.addPicture ли ту же задачу без каких-либо ошибок. Приклеивание изображения в теле документа работает хорошо.
Mike K.
1

голосов
0

ответ
106

Просмотры

Добавление поддокумента, расположенный на узле SharePoint в Worddocument

У меня есть требование, чтобы добавить несколько поддокументов в документ Word. Поддокумент расположен на SharePoint. При попытке это через Слово UI, это работает, как ожидалось (добавляются поддокумент и это ссылки "на документ, размещенный на SharePoint): Вручную добавить поддокумент - результат Я использую Visual Studio 2017, и есть ссылка на Microsoft .Office.Interop.Word.dll версия 8.7.0.0 (Office 2016 64-разрядный). Документы размещены на среду SharePoint 2013 (хотя я не думаю, что вопросы, поскольку у меня есть одни и те же результаты на SharePoint 2010 environement). Сейчас у меня следующий код (я использовал случайный SharePoint размещенного документ Word, я нашел в Интернете, как я в настоящее время не имею доступ к моей компании среде SharePoint): с помощью MOIW = Microsoft.Office.Interop.Word; ... статической силы основных (строка [] арг) {вар WordApp = новый MOIW.Application (); wordApp.Visible = TRUE; вар поддокумент = "https://www.stb.gov.sg/assistance-and-licensing/Documents/MIP_Terms_and_Conditions.docx"; вар MasterDOC = wordApp.Documents.Open (@ "C: \ Test \ master.docx"); masterDoc.ActiveWindow.ActivePane.View.Type = MOIW.WdViewType.wdOutlineView; masterDoc.Subdocuments.AddFromFile (поддокумент); masterDoc.SaveAs2 (@ "C: \ Test \ master_with_subdoc.docx"); } При выполнении этого кода, я получаю следующее исключение: System.Runtime.InteropServices.COMException HResult = 0x800A1436 Message = К сожалению, мы не смогли найти файл. Был он перемещен, переименован или удален? (Https://www.stb.gov.sg/assistance-and-li) Источник = поддокументами StackTrace: в Microsoft.Office.Interop.Word.Subdocuments. End Sub Так это выглядит, что Слово открывает файл SharePoint, а затем использует файл локально созданный (TEMP), чтобы вставить поддокумент. Я попытался сделать то же самое, но когда я делаю это, поддокумент не ссылается на документ SharePoint, но в локальный файл. используя MOIW = Microsoft.Office.Interop.Word; ... статическая сила Main (строка [] арг) {вар WordApp = новый MOIW.Application (); wordApp.Visible = TRUE; вар subDocLocation = "https://www.stb.gov.sg/assistance-and-licensing/Documents/MIP_Terms_and_Conditions.docx"; // открыть файл, хранящийся на SharePoint вар поддокументе = wordApp.Documents.Open (subDocLocation); // получить локальный файл (для этого теста я убедился, что не было никаких других файлов в папке) вар TempFile = System.IO.Directory.GetFiles (@ "C: \ Users \ Свен \ AppData \ Local \ Microsoft \ Windows \ INetCache \ Content.MSO» , "* .Docx") [0]; вар MasterDOC = wordApp.Documents.Open (@ "C: \ Test \ master.docx"); masterDoc.ActiveWindow.ActivePane.View.Type = MOIW.WdViewType.wdOutlineView; // добавить поддокумент используя локальный файл уаг subdoc = masterDoc.Subdocuments.AddFromFile (TempFile, ложь, ложь, String.Empty, String.Empty, ложь, String.Empty, string.Empty); masterDoc.SaveAs2 (@ "C: \ Test \ master_with_subdoc.docx"); } Добавление поддокумента из templocation с помощью кода - результат я нашел 10-летний MSDN форума пост, который описывает один и тот же вопрос, но не обеспечивает реальное решение. Как я уже собирался опубликовать этот вопрос, я думал, обходной путь, используя подход OpenXML и (вручную) изменить путь к файлу в Интернете место (это в документе. xml.rels часть). Это, кажется, сделать трюк (вы не можете изменить «Пути» или «Name» свойство поддокумента с использованием объектной модели Word, так как они только для чтения свойства) Если решения с использованием объектной модели Word, не может быть найдено, я реализую это нравится и обновить вопрос с кодом.
Sven De Bont
1

голосов
1

ответ
393

Просмотры

Использование olefile для извлечения текста из .doc Word,

Я беспокоюсь только с получением текста из файлов .doc. Я использую Python 3.6 на Windows 10, так Textract / Antiword находятся на столе. Я посмотрел на другие ссылки от этого вопроса, но они все старые и несовместимые с Windows 10 и / или питона 3.6. Мой документ представляет собой .doc файл с сочетанием китайского и английского языков. Я не знаком с тем, как Слово хранит файлы, и у меня нет Слова на моей машине. Использование olefile я был в состоянии получить байты документа, но я не знаю, как пройти заголовки и расположение правильно, чтобы извлечь текст. Если я наивно пытаться от olefile импорта OleFileIO в ofio оле = ofio ( 'd.doc') поток = ole.openstream ( 'Worddocument') данных = stream.read () data.decode ( 'UTF-16') >>> UnicodeDecodeError: кодек 'UTF-16-LE' не может декодировать байт в позиции 9884-9885: Данные нелегальный кодирования [9884: 9885] >>> б «\» РФА данных [: 9884] .decode ( «UTF-16») Тогда последняя строка дает мне около половины док, начиная и заканчивая большим количеством мусора символов , Я подозреваю, что я мог бы продолжать пробовать этот метод, чтобы получить текст сдельной по-части, но в конечном счете, нужно сделать это для большого количества файлов. Даже если бы я сделал это так, я не могу придумать хороший способ автоматизировать его. Как я могу надежно получить текст из .doc, используя olefile? (Вы можете включить альтернативы olefile в вашем ответе, а также, если вы знаете тот, который будет работать с моей спецификации) но в конечном счете, должны сделать это для большого количества файлов. Даже если бы я сделал это так, я не могу придумать хороший способ автоматизировать его. Как я могу надежно получить текст из .doc, используя olefile? (Вы можете включить альтернативы olefile в вашем ответе, а также, если вы знаете тот, который будет работать с моей спецификации) но в конечном счете, должны сделать это для большого количества файлов. Даже если бы я сделал это так, я не могу придумать хороший способ автоматизировать его. Как я могу надежно получить текст из .doc, используя olefile? (Вы можете включить альтернативы olefile в вашем ответе, а также, если вы знаете тот, который будет работать с моей спецификации)
tigerninjaman
1

голосов
1

ответ
30

Просмотры

Графический номограмма в VBA Слово

У меня есть некоторые диаграммы объектов в документе Microsoft Word, и я хочу, чтобы привести его в центр с помощью VBA код. Что написано оборотная сторона, кажется, работает хорошо, потому что он определяет графические диаграммы правильно, но тогда я не знаю, как его в центр. Суб CenterChart () дим п As Integer, я As Integer Dim Graf как объект п = Application.ActiveDocument.InlineShapes.Count Если п 0 Тогда для я = 1 п Set Graf = Application.ActiveDocument.InlineShapes (I) Если graf.HasChart Тогда «Вот код, чтобы выровнять по центру Else End If Next I End If End Sub
Shivoham
1

голосов
1

ответ
34

Просмотры

как определить цвета текста в текстовом документе с помощью Python?

Я пытаюсь извлечь текст из текстового документа на основе их цвета шрифта? Мне было интересно, есть ли эффективный способ сделать это с помощью питона пакетов? Спасибо
Faeze Br.
1

голосов
0

ответ
27

Просмотры

Add multiple table with PHP COM(“word.application”)

Я написал следующий код для создания нескольких таблиц в словах с помощью COM ( "Word.Application") библиотеки в PHP: в то время как ($ строки = $ result-> FETCH_ASSOC ()) {$ слово-> выбор-> TypeText ( "$ строка [Materia] \ п "); $ WTable = $ WrdDoc-> Tables-> Добавить ($ слово-> выбора-> Диапазон, 2, 2); // Colums, Ряды $ WrdDoc-> Таблицы [1] -> Borders-> InsideLineStyle = 1; $ WrdDoc-> Таблицы [1] -> Borders-> OutsideLineStyle = 1; $ WTable-> Ячейка (1,1) -> ширина = "3"; $ WTable-> Ячейка (1,2) -> ширина = "12"; $ WTable-> Cell (1,1) -> пастбищам> Font-> Name = "Times New Roman"; $ WTable-> Cell (1,1) -> пастбищам> Shading-> BackgroundPatternColor = HexDec ( "00ff00"); $ WTable-> Cell (1,1) -> Пастбища> Text = "Strumenti compensativi"; $ WTable-> Ячейка (1,2) -> пастбищам> Font-> Размер = 18; $ WTable-> Cell (1,2) -> пастбищам> Жирный = True; $ WTable-> Ячейка (1,2) -> пастбищам> Font-> Наклонный = False; $ WTable-> Ячейка (1,2) -> пастбищам> Текст = "$ строки [strumenti_compensativi]"; $ WTable-> Ячейка (2,1) -> ширина = "3"; $ WTable-> Ячейка (2,2) -> ширина = "12"; $ WTable-> Cell (2,1) -> пастбищам> Font-> Name = "Times New Roman"; $ WTable-> Cell (2,1) -> пастбищам> Shading-> BackgroundPatternColor = HexDec ( "00ff00"); $ WTable-> Cell (2,1) -> пастбища> Text = "Misure dispensative"; $ WTable-> Ячейка (2,2) -> пастбищам> Font-> Размер = 14; $ WTable-> Cell (2,2) -> пастбищам> Жирный = False; $ WTable-> Cell (2,2) -> пастбищам> Font-> Курсив = False; $ WTable-> Ячейка (2,2) -> пастбищам> Текст = "$ строки [misure_dispensative]"; } Вторая таблица записывается в первой. Он не идет дальше. Может быть, проблема в том, чтобы свернуть диапазон, но я понятия не имею, как я могу это сделать. Пожалуйста! Помоги мне!
Federick
1

голосов
1

ответ
519

Просмотры

Как я генерировать документ Word из JavaScript с изменением страницы ориентации? (Портрет в пейзаже)

Можно ли создать документ Word, с JavaScript, который содержит 2 по-разному ориентированных страниц (в том же документе)? Первая страница Ie = портрет, вторая страница = пейзаж? Это в значительной степени именно то, что я после. Я пробовал так много вещей .. такие как МСО-брейк тип: раздел-брейк; МСО-специального характера: разрыв строки; страниц обкатки перед: всегда; и т.д., но не повезло. Заранее спасибо! Вот то, что я до сих пор: функция export_to_word () {вар ссылку, блоб, URL; блобо = новый Blob ([ '\ ufeff', document.getElementById ( "DOCX") innerHTML.], {типа: 'применение / MSWord'}); URL = URL.createObjectURL (блоб); ссылка = document.createElement ( 'А'); link.href = URL; link.download = 'Документ'; // имя по умолчанию без расширения document.body.appendChild (ссылка); если (штурман. msSaveOrOpenBlob) navigator.msSaveOrOpenBlob (блоб, 'document.doc'); // IE10-11 еще link.click (); // другие браузеры document.body.removeChild (ссылка); }; Экспорт @page portrait_A4_page {размер: 595.45pt 841.7pt; Маржа: 1.0in 1.25in 1.0in 1.25in; МСО-заголовок-поле: .5in; МСО-сноска рентабельность: .5in; МСО-бумажной Источник: 0; } Div.portrait_A4_page {страница: portrait_A4_page; } @Page landscape_A4_page {размер: 841.7pt 595.45pt; МСО-страниц Ориентация: пейзаж; Маржа: 1.25in 1.0in 1.25in 1.0in; МСО-заголовок-поле: .5in; МСО-сноска рентабельность: .5in; МСО-бумажной Источник: 0; } Div.landscape_A4_page {страница: landscape_A4_page;
Stacked Flowrider
1

голосов
2

ответ
148

Просмотры

Невозможно получить WholeStory выбрать и отформатировать весь текст в Word Doc с помощью Excel VBA

Мне нужно, чтобы быть в состоянии создать отчет (в Word), который использует кучу данных, которые хранятся в Excel. У меня возникли проблемы при попытке форматирования всего документа Word (заголовок отчета, и все, что я скопировал из Excel), так что все через один интервала и не имеет интервала между абзацами до или после. «WholeStory» команда / выбор не работает. Заранее спасибо за помощь!!! Sub Generate_Report () Dim appWD Как Word.Application Set appWD = CreateObject ( "Word.Application") appWD.Visible = True appWD.Documents.Add Sheets ( "Шаблон"). UsedRange.Copy С appWD.Selection .Font.Size = 14 .Font.Name = "Calibri Light (заголовков)" .Font.Bold = True .Font.Underline = wdUnderlineSingle .ParagraphFormat.
A. Sturmay
1

голосов
0

ответ
71

Просмотры

VBA: Оклейка таблицы из Excel в Слово падает на Mac

Следующий код VBA прекрасно работает в Windows, чтобы скопировать таблицу из Excel и вставить его в шаблон Word. На Mac склеивание шаг не работает, и делает Excel и Word, сбой (не сообщение об ошибке, просто перестает отвечать на запросы, и я должен заставить бросить курить). Я попытался с помощью .Selection.PasteAndFormat Тип: = wdFormatOriginalFormatting вместо .Selection.PasteExcelTable значение False, False, то значение False, но я получаю такое же поведение. Если я остановить макрос до последнего шага, и вставить вручную в Word, он работает. Таблица правильно копируется в буфер обмена, и я могу вставить. Sub testPasteMac () Dim WordApp как объект Dim Fname As String Dim WS Как Worksheet Set Ws = ThisWorkbook.Worksheets ( "Лист1") 'Копирование таблицы из Excel ws.Range ( "A1: E4"). Copy' Открыть Word On Error Resume Next Set WordApp = GetObject ( «слово.
c_georges
1

голосов
1

ответ
55

Просмотры

Вставка картинки в текстовый документ с PERL Win32 :: OLE

Я занимаюсь разработкой инструмента для создания документов Word, с Win32 :: OLE в Perl CGI, и я столкнулся с проблемой я не могу решить: когда я вставить картинку, она показывает в самом конце сгенерированного документа, где бы я попросил его включить. Вот пример кода, который объясняет мои заботы, где $ go_document это мой документ Word анс $ as_file путь к моему файлу изображения: $ go_document-> ActiveWindow-> выбора-> TypeText ( «перед картиной \ п»); мой $ последний = $ go_document-> Paragraphs-> Count; мой $ пункт = $ go_document-> Пункты ($ последнего); $ Go_document-> InlineShapes-> AddPicture (. WorkDir () $ as_file, 0, 1, $ пара-> Range); $ Go_document-> ActiveWindow-> выбор-> TypeText ( "после того, как изображение \ п"); Результат включает в себя ожидаемые текстовые строки, но изображение показывает после того, как второй. Более того, если есть 2 фотографии, вторая показывает в конце документа, но перед первым! Есть ли что-то делать, и я забыл? Заранее благодарю за любую помощь.
JNM

Просмотр дополнительных вопросов