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

Вниз

Как определить количество символов в файле Micrpsoft Word?   Найти похожие ветки 

 
SkySpeed   (2007-06-30 23:00) [0]

Собственно, сабж...
Как, используя Delphi, определить количество символов в файле Microsoft Word?


 
homm ©   (2007-06-30 23:14) [1]

Что такое «количество символов в файле Microsoft Word» ?
GetFileSize?


 
SkySpeed   (2007-07-01 12:26) [2]


> homm ©   (30.06.07 23:14) [1]
> Что такое «количество символов в файле Microsoft Word» ?
> GetFileSize?

Количество символов в Microsoft Word определяется, используя пункт меню Сервис-Статистика. В появившемся окне пункт "Знаков с пробелами" - это он и есть


 
Palladin ©   (2007-07-02 08:21) [3]

var
w,t:OleVariant;
s:String;
i:Integer;
begin
w:=CreateOleObject("Word.Application");
Try
 w.Documents.Open(FileName:="c:\1.doc");
 For i:=1 to w.ActiveDocument.ReadabilityStatistics.Count do
  begin
   t:=w.ActiveDocument.ReadabilityStatistics.Item(i);
   s:=t.Value;
   Memo1.Lines.Add(t.Name+" - "+s);
  end;
Finally
 w.Quit;
 w:=Unassigned;
End;
end;


 
USTAS   (2007-07-02 10:00) [4]

Статья
Работаем с MS Word - статистика документов
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=636


 
SkySpeed   (2007-07-03 01:37) [5]


> Palladin ©   (02.07.07 08:21) [3]
> var w,t:OleVariant; s:String; i:Integer;begin w:=CreateOleObject("Word.
> Application"); Try  w.Documents.Open(FileName:="c:\1.doc");
>   For i:=1 to w.ActiveDocument.ReadabilityStatistics.Count
> do   begin    t:=w.ActiveDocument.ReadabilityStatistics.
> Item(i);    s:=t.Value;    Memo1.Lines.Add(t.Name+" - "+s);
>    end; Finally  w.Quit;  w:=Unassigned; End;end;


> USTAS   (02.07.07 10:00) [4]
> СтатьяРаботаем с MS Word - статистика документовhttp://www.
> delphikingdom.com/asp/viewitem.asp?catalogid=636


После помещения на форму кнопки с кодом:
procedure TForm1.Button1Click(Sender: TObject);
var
w,t:OleVariant;
s:String;
i:Integer;
begin
w:=CreateOleObject("Word.Application");
Try
w.Documents.Open(FileName:=""E:\test.doc"");
For i:=1 to w.ActiveDocument.ReadabilityStatistics.Count do
 begin
  t:=w.ActiveDocument.ReadabilityStatistics.Item(i);
  s:=t.Value;
  ShowMessage(t.Name+" - "+s);
 end;
Finally
w.Quit;
w:=Unassigned;
End;
end;

..., запуска приложения и нажатия на ОК происходит появление следующих окон - сдуреть можно!

1. Данный файл используется другим приложением или пользователем.
  (C:\Documents and Settings\...\Normal.dot)
2. Открывается диалоговое окно "Сохранение документа" "Normal.dot"
3. После нажатия на "Отмена" открывается сам документ в полноэкранном режиме
4. После закрытия документа выскакивает табличка с надписью - "Общий шаблон "Normal.dot" был изменён. Сохранить его?"
5. После нажатия на кнопке "Нет" выскакивает табличка с надписью:
  "Нельзя сохранить данный файл, поскольку он используется другим процессом.
  (C:\Documents and Settings\...\Normal.dot)"
P.S.: ни один вордовский файл не открыт!
6. После нажатия на "ОК", закрывается документ


 
SkySpeed   (2007-07-03 01:38) [6]

Собственно, вопрос - как нормально открыть вордовский файл (можно в скрытом режиме) и определить кол-во знаков с пробелами? Заранее спасибо!


 
Palladin ©   (2007-07-03 08:58) [7]

ну попробуй после CreateOleObject

w.DisplayAlerts:=0;


 
USTAS   (2007-07-03 11:11) [8]

вот из моего проекта рабочий код
требует наличия компонентов TWordApplication и TWordDocument

var FileName,j: OleVariant;
   i: Integer;
begin
 FileName := FilenameEdit.FileName;
 WordApplication.Visible := False;
 WordApplication.Options.CheckSpellingAsYouType:=False;
 WordApplication.Options.CheckGrammarAsYouType:=False;
 WordApplication.Connect;
 WordApplication.Documents.Open(FileName,EmptyParam,EmptyParam,EmptyParam,EmptyPa ram,
                                 EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
 WordDocument.ConnectTo(WordApplication.ActiveDocument);
 //статистика документа
 WCount := WordDocument.ComputeStatistics($00000000);
 StrCount := WordDocument.ComputeStatistics($00000001);
 CCount := WordDocument.ComputeStatistics($00000003);
 SCount := WordDocument.ComputeStatistics($00000005);
 PCount := WordDocument.ComputeStatistics($00000002);
 with Memo do begin
   Lines.Add("Word count - " + IntToStr(WCount));
   Lines.Add("Lines count - " + IntToStr(StrCount));
   Lines.Add("Signs without blanks - " + IntToStr(CCount));
   Lines.Add("Signs with blanks - " + IntToStr(SCount));
   Lines.Add("Pages count - " + IntToStr(PCount));
 end;//with
 TabCount := WordDocument.Tables.Count;
 Memo.Lines.Add("Tables count - " + IntToStr(TabCount));
 BmCount := WordDocument.Bookmarks.Count;
 Memo.Lines.Add("Bookmarks count - " + IntToStr(BmCount));
 //статистика документа
 //работа с закладками
 for i := 1 to WordDocument.Bookmarks.Count do begin
   j := i;
   ListBoxBookmarks.Items.Add(WordDocument.Bookmarks.Item(j).Name);
 end;//for
 //работа с закладками
 WordDocument.Save;
 WordDocument.Close;
 WordApplication.Disconnect;
end;


 
SkySpeed   (2007-07-03 14:08) [9]


> Palladin ©   (03.07.07 08:58) [7]
> ну попробуй после CreateOleObjectw.DisplayAlerts:=0;

Не помогло. Ошибки те же остались


> USTAS   (03.07.07 11:11) [8]

Delphi ругается на:
WordApplication.Documents.Open(FileName,EmptyParam,EmptyParam,EmptyParam,E mptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
Ошибка: Not enough actual parameters


 
USTAS   (2007-07-03 16:57) [10]


> Delphi ругается на:
> WordApplication.Documents.Open(FileName,EmptyParam,EmptyParam,
> EmptyParam,E mptyParam,EmptyParam,EmptyParam,EmptyParam,
> EmptyParam,EmptyParam);
> Ошибка: Not enough actual parameters


Ну почитай в хэлпе да в тырнете, про компонент WordApplication. Вполне возможно что не хватает чего то в uses (ActiveX,ComObj или еще чего). Мой код рабочий 100%, потому как проект работает уже не первый год, писался проект в Delphi 5. Ну низзя ж так, ошибка вылетела сразу в форум - не работает, посмотри, сам код поковыряй, почитай.


 
umbra ©   (2007-07-03 21:18) [11]

АХРЕНЕТЬ! WordApp.Documents[1].Characters.Count


 
Palladin ©   (2007-07-03 21:25) [12]


> umbra ©   (03.07.07 21:18) [11]

ахренеть
наберешь "123" в ворде и получшь 4...
дальше по спец символам - хуже



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

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

Наверх




Память: 0.48 MB
Время: 0.031 c
3-1179291107
-=Domix=-
2007-05-16 08:51
2007.09.09
значение генератора


2-1187373659
FireSonic
2007-08-17 22:00
2007.09.09
Каким образом возможно это сделать?


5-1157851665
RASkov
2006-09-10 05:27
2007.09.09
Добавление published свойства


2-1187035315
loeg
2007-08-14 00:01
2007.09.09
Delphi и Касперский


15-1186570167
Reindeer Moss Eater
2007-08-08 14:49
2007.09.09
Эксель и счет





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский