Главная страница
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.5 MB
Время: 0.025 c
4-1174292317
Zserg
2007-03-19 11:18
2007.09.09
Создание дополнительного COM порта


2-1186652202
shtam
2007-08-09 13:36
2007.09.09
chm


15-1186600345
anton773
2007-08-08 23:12
2007.09.09
службы виндовс


15-1186701198
SerJaNT
2007-08-10 03:13
2007.09.09
PHP & HTML: таблицу в 3 столбика


15-1186930128
Dimka Maslov
2007-08-12 18:48
2007.09.09
Вот интересно почему