Шифрование документа Word

Программирование на Visual Basic for Applications
fishh
Обычный пользователь
Обычный пользователь
 
Сообщения: 81
Зарегистрирован: 21.10.2005 (Пт) 9:50

Шифрование документа Word

Сообщение fishh » 13.03.2006 (Пн) 13:13

Help me!!!

Как определить номер строки в документе?
Как текст определенной строки записать в переменную?
Как заменить текст строки на другой текст?

Заранее всем большое спасибо.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 15.03.2006 (Ср) 18:06

1. Определить, основываясь на чём?
2. s=document.goto(wdgotoline,wdgotoabsolute,i).text
3. document.goto(wdgotoline,wdgotoabsolute,i).text=s
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

fishh
Обычный пользователь
Обычный пользователь
 
Сообщения: 81
Зарегистрирован: 21.10.2005 (Пт) 9:50

Сообщение fishh » 16.03.2006 (Чт) 6:34

:D Спасибо!!!

Для осуществления цикла мне нужно значение первой и последней строки. Переменная i я понимаю это как раз и есть номер строки. А как тогда выяснить номер последней строки?

Спасибо за помощь.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 16.03.2006 (Чт) 6:39

Мне интересно, а зачем вообще знать строки и номер строк?
Разбитие на строки зависит хотя бы от ширины страницы. В тексте строк нет. Он сплошной.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

fishh
Обычный пользователь
Обычный пользователь
 
Сообщения: 81
Зарегистрирован: 21.10.2005 (Пт) 9:50

Сообщение fishh » 16.03.2006 (Чт) 8:30

Мне нужно зашифровать текст начиная, например, с 6 строки и до конца.
А в переменную s не получается поместить текст. Она всегда пустая.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 16.03.2006 (Чт) 8:38

Сначала надо определиться с тем, что такое строка. Потому что я так понимаю, с этим определением проблема.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

fishh
Обычный пользователь
Обычный пользователь
 
Сообщения: 81
Зарегистрирован: 21.10.2005 (Пт) 9:50

Сообщение fishh » 16.03.2006 (Чт) 9:25

Хорошо, спасибо. Теперь я знаю в какую сторону капать.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 16.03.2006 (Чт) 9:30

Не надо капать в мою сторону :)


Надо таки определиться, строка в смысле от абзаца до абзаца или строка в смысле от лева до права при текущих границах листа?..
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

fishh
Обычный пользователь
Обычный пользователь
 
Сообщения: 81
Зарегистрирован: 21.10.2005 (Пт) 9:50

Сообщение fishh » 16.03.2006 (Чт) 9:40

:) Без обид, я не собиралась капать в вашу сторону.

Я имела в виду, строка от левой границы листа до правой.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 16.03.2006 (Чт) 9:55

Я так и думал, собственно, поэтому и вопрос возникает - а зачем. Зачем разбивать на такие "строки".
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

fishh
Обычный пользователь
Обычный пользователь
 
Сообщения: 81
Зарегистрирован: 21.10.2005 (Пт) 9:50

Сообщение fishh » 16.03.2006 (Чт) 10:13

А как тогда лучше? От абзаца до абзаца? Даже если так. То как весь абзац поместить в переменную?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 16.03.2006 (Чт) 10:18

Нет. Вообще весь тект сразу. Не лучше?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

fishh
Обычный пользователь
Обычный пользователь
 
Сообщения: 81
Зарегистрирован: 21.10.2005 (Пт) 9:50

Сообщение fishh » 16.03.2006 (Чт) 10:27

Весь текст не желательно бы. Мне не нужно захватывать первых несколько "строк" на первом листе. Но если по другому никак... А вы не могли бы подсказать как необходимые действия произвести со всем текстом или с абзацем.
Спасибо

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 16.03.2006 (Чт) 10:33

Ыыыыы....

Весь текст сразу. Кроме первых нескольких строк. Почему не так? Почему разбивать на строки?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

fishh
Обычный пользователь
Обычный пользователь
 
Сообщения: 81
Зарегистрирован: 21.10.2005 (Пт) 9:50

Сообщение fishh » 16.03.2006 (Чт) 10:41

:?: А про весь текст что вы можете сказать?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 16.03.2006 (Чт) 10:49

Ничего, поскольку до сих пор понятия не имею, что на самом деле нужно в решении данной задачи.
Что нужно на самом деле, а не какие шаги для этого предполагалось предпринять изначально.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

fishh
Обычный пользователь
Обычный пользователь
 
Сообщения: 81
Зарегистрирован: 21.10.2005 (Пт) 9:50

Сообщение fishh » 16.03.2006 (Чт) 10:54

Мне нужно документ WORD (текст содержащийся в документе) зашифровать. Сам алгоритм шифрования я знаю. Я не знаю как сам текст поместить в переменную (по строчно, либо по абзацно, либо весь текст целиком) для выполнения определенных действий над ней.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 16.03.2006 (Чт) 10:57

В документе Word помимо текста есть еще и форматирование. Нужно ли сохранять его?
Lasciate ogni speranza, voi ch'entrate.

fishh
Обычный пользователь
Обычный пользователь
 
Сообщения: 81
Зарегистрирован: 21.10.2005 (Пт) 9:50

Сообщение fishh » 16.03.2006 (Чт) 11:04

Хотелось бы.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 16.03.2006 (Чт) 11:41

В таком случае, не лучше ли будет шифровать сразу весь файл?
Lasciate ogni speranza, voi ch'entrate.

fishh
Обычный пользователь
Обычный пользователь
 
Сообщения: 81
Зарегистрирован: 21.10.2005 (Пт) 9:50

Сообщение fishh » 16.03.2006 (Чт) 11:59

Может быть и лучше. А вы знаете как? Не могли бы вы подать идею, подсказать что-нибудь. Чтобы я могла опереться на что-нибудь. У меня проблема именно с текстом.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 16.03.2006 (Чт) 12:05

1. Загрузить файл в строку.
2. Зашифровать строку.
3. Выгрузить строку в файл.

Загружать/выгружать можно так (если файлы не сильно большие):
Код: Выделить всё
Dim buff As String, FN As Integer
FN = Freefile()
Open "C:\file1.doc" For Binary As #FN
buff = String$(LOF(FN), vbNullChar)
Get #FN, , buff
Close #FN
Call Crypt(buff)
FN = Freefile()
Open "C:\file1.cwd" For Binary As #FN
Put #FN, , buff
Close #FN
Lasciate ogni speranza, voi ch'entrate.

fishh
Обычный пользователь
Обычный пользователь
 
Сообщения: 81
Зарегистрирован: 21.10.2005 (Пт) 9:50

Сообщение fishh » 17.03.2006 (Пт) 10:49

:) Большое Спасибо при Спасибо.
С помощью этого кода все получается у меня все работает. Но есть единственное НО. Этот код работает в VB, в VBA (Word) пишет что: the macros in this project are disabled...
Что делать? Как быть?

Спасибо.

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 17.03.2006 (Пт) 10:53

Э-э, отключить "высокий" уровень безопасности на искомом компьютере? Сервис - Макрос - Безопасность - Средняя, перезапустить Word?
Быть... или не быть. Вот. В чём вопрос?

fishh
Обычный пользователь
Обычный пользователь
 
Сообщения: 81
Зарегистрирован: 21.10.2005 (Пт) 9:50

Сообщение fishh » 17.03.2006 (Пт) 11:22

АААА!!! :D

Спасибо. Все работает. Огромное спасибо всем.

fishh
Обычный пользователь
Обычный пользователь
 
Сообщения: 81
Зарегистрирован: 21.10.2005 (Пт) 9:50

Сообщение fishh » 20.03.2006 (Пн) 7:35

А можно заново поднять эту тему. Как я уже писала: в VB все работает замечательно. Загружает в оперативную память документ и т.д. А как быть если я открываю документ и именно с этим документом мне надо работать. Я же не могу загрузить его, зашифровать, а потом весь текст открытого документа заменить уже шифрованным. В общем, я предполагаю что такой алгоритм подходит для работы с документом на расстоянии.

Dim buff As String, FN As Integer
FN = Freefile()
Open "C:\file1.doc" For Binary As #FN
buff = String$(LOF(FN), vbNullChar)
Get #FN, , buff
Close #FN
Call Crypt(buff)
FN = Freefile()
Open "C:\file1.cwd" For Binary As #FN
Put #FN, , buff
Close #FN

Помогите пожалуйста.
Коротко объясню что надо. При открытии документа происходит дешифрование, а при закрытии шифрование. Так вот, чтобы обрабатывать текст, мне нужно поместить его в переменную.
Заранее большое спасибо. Извините за беспокойствие.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 20.03.2006 (Пн) 8:39

Если при открытии документа выполняется его шифрование, то какой смысл в шифровании?
Lasciate ogni speranza, voi ch'entrate.

fishh
Обычный пользователь
Обычный пользователь
 
Сообщения: 81
Зарегистрирован: 21.10.2005 (Пт) 9:50

Сообщение fishh » 20.03.2006 (Пн) 9:37

При открытии документа будет выполнятся проверка. Если этот документ можно будет просмотреть то будет выполнятся расшифровка текста. Если нельзя - отобразится зашифрованный текст.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 20.03.2006 (Пн) 10:08

В таком случае, что мешает открыть документ с запретом выполнения макросов и просмотреть код проверки/дешифрации?
Процедуру шифрования/дешифрования лучше делать внешней.
Lasciate ogni speranza, voi ch'entrate.

fishh
Обычный пользователь
Обычный пользователь
 
Сообщения: 81
Зарегистрирован: 21.10.2005 (Пт) 9:50

Сообщение fishh » 20.03.2006 (Пн) 12:07

А по подробнее можно?
И вообще можно ли запретить в Access просматривать документы хранящиеся в поле Ole. В справке читала вроде бы нельзя.

След.

Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 81

    TopList  
cron