powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Изменения в .Docx без открытия в Word
4 сообщений из 4, страница 1 из 1
Изменения в .Docx без открытия в Word
    #39005197
Zaharius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как известно файлы .docx – это zip-архив файлов, главным образом в формате .xlm. Пожалуй, основным файлом является «document.xlm». Мне необходимо средствами VB.NET извлечь файл «document.xlm» из файла(архива) “AnyDocument.docx” и затем (после некоторых манипуляций) снова поместить его в тот же файл “AnyDocument.docx”. Есть идеи, как это сделать?
...
Рейтинг: 0 / 0
Изменения в .Docx без открытия в Word
    #39005208
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zaharius,

Возможно пригодится: https://msdn.microsoft.com/en-us/library/office/bb448854.aspx
...
Рейтинг: 0 / 0
Изменения в .Docx без открытия в Word
    #39005209
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zaharius,
гуглите zip namespace copyhere , например
http://www.cyberforum.ru/visual-basic/thread867497.html

Учтите также, что текстовые файлы в архиве сохранены в кодировке UTF-8. Соответственно, гуглите utf-8 vb.net

Модератор: Тема перенесена из форума "Visual Basic".
...
Рейтинг: 0 / 0
Изменения в .Docx без открытия в Word
    #39010314
MrVoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Imports <xmlns="http://schemas.openxmlformats.org/package/2006/relationships">

Sub Main()

	Using zip As ZipArchive = ZipFile.Open("D:\Word_File.docx", ZipArchiveMode.Update)

		'//Находим нужный нам файл
		Dim entry As ZipArchiveEntry = zip.Entries.FirstOrDefault(Function(e) e.FullName = "_rels/.rels")

		'// Пишем его в XElement
		If Not entry Is Nothing Then
			Using strm As Stream = entry.Open() '// Открываем поток
				Dim xml As XElement = XElement.Load(strm) '// Создаём XElement
				xml.Element("Relationship").Attribute("Id").SetValue("rId11111") '//Меняем значение атрибута "Id"
				strm.Seek(0, SeekOrigin.Begin) '// Возвращаем позицию в потоке в начало - ОБЯЗАТЕЛЬНО!
				xml.Save(strm) '//Сохраняем обратно в поток - в этот момент все изменения сохранились!
			End Using
		End If
	End Using

End Sub
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Изменения в .Docx без открытия в Word
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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