Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.30;
Скачать: CL | DM;

Вниз

Сохранение Word   Найти похожие ветки 

 
BAYES ©   (2005-01-17 21:59) [0]

Привет.
У меня такой не скромный вопрос. У меня имеется около 100 word-документов они по глупой случайности были переименованы в формат file_n где n 1-97.
Я пытаюсь переименовать файлы по первым 25 знакам из документа

Делаю так


a:=0;
b:=25;
WordDocument1.Range(a, b).Text;

FileNameSave:= WordDocument1.Range(a, b).Text;
WordDocument1.SaveAs(FileNameSave);
...
Но возникает проблема, в первых 25 знаках встречают символы которые не могут быть сохранены.
У меня вопрос, как эти символы отсечь, какими способами?
Спасибо за все ответы.


 
YurikGL ©   (2005-01-17 22:09) [1]


> Но возникает проблема, в первых 25 знаках встречают символы
> которые не могут быть сохранены.
> У меня вопрос, как эти символы отсечь, какими способами?

Что-то типа такого:
st:string;

st:= WordDocument1.Range(a, b).Text;

for i:=1 to length (st) do
 if not (st[i] in[набор допустимых символов]) then st[i]:=" "

WordDocument1.SaveAs(st);


 
BAYES ©   (2005-01-17 22:22) [2]

"набор допустимых символов" в каком формате нужно предоставлять?
А-Я или а,б,в,г


 
YurikGL ©   (2005-01-17 22:33) [3]

Попробуй

> BAYES ©   (17.01.05 22:22) [2]

["A".."Z","a".."z","0".."1","А".."Я" и т.д.]

А вообще, про множества почитай.


 
BAYES ©   (2005-01-17 22:56) [4]

Все отлично порезало, пасиба Юра, но блин, что-то не то, реально организовать что-то на подобии «сохранения По-умолчанию», например когда word новый документ при сохранении дает имя первых N-символов.


 
YurikGL ©   (2005-01-17 23:03) [5]


>  например когда word новый документ при сохранении дает
> имя первых N-символов.

А что тебе мешает считать первые n символов, далее, если среди первых 5-6-ти нет недопустимых символов, в качестве имени использовать строку до либо до первого недопустимого символа, либо n символов?


 
BAYES ©   (2005-01-18 10:54) [6]

Пол ночи просидел, что только не пробовал, получается всякая хрень. Подкинь кусок кода.


 
YurikGL ©   (2005-01-18 21:07) [7]

Что-то типа такого

st:="";
i:=1;
while ((i<60) and (char(WordApplication1.ActiveDocument.Characters.Item(i).Text[1]) in ["a".."z","A".."Z"])) do begin
st:=st+(WordApplication1.ActiveDocument.Characters.Item(i).Text[1]);
inc(i);
                                                      end;
if length(st)=0 then st:="Документ1"
Правда с русскими буквами глюкает при преобразовании wideChar в char...


 
BAYES ©   (2005-01-19 18:58) [8]

Вот я морочился, сам ворд в свойствай файла сохраняет заголовок, (автор,тема...) прям то, что нужно, осталось выяснить как это считать.
Юра пасиба за потраченное время.



Страницы: 1 вся ветка

Текущий архив: 2005.10.30;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.039 c
14-1128611218
Piter
2005-10-06 19:06
2005.10.30
Лекция в одном институте по теме "Интернет"


14-1128577811
MVVD
2005-10-06 09:50
2005.10.30
Принтер и быстродействие


4-1124790732
Vovanchik-s
2005-08-23 13:52
2005.10.30
Список активных устройств Bluetooth


14-1128681136
Игорь Шевченко
2005-10-07 14:32
2005.10.30
Holy war :)


14-1128501536
DelphiN!
2005-10-05 12:38
2005.10.30
Сколько часов в день вы уделяете непосредственно программированию





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский