5 / 5 / 2
Регистрация: 25.10.2015
Сообщений: 236
1

Ошибка: Object or class type required

12.07.2016, 17:50. Показов 1643. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, ругается на эту строчку
Delphi
1
Word.Selection.Find.MatchSoundsLike := False;
вот такой ошибкой "[Error] Object or class type required", в uses прописал ComObj
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.07.2016, 17:50
Ответы с готовыми решениями:

Ошибка: Record, object or class type required
на код вызова второстепенной формы procedure TForm1.Button1Click(Sender: TObject); begin ...

Ошибка: Record object or class type required
{$WARN SYMBOL_PLATFORM OFF} unit FormMain; interface uses Windows, Messages, SysUtils,...

Ошибка: record, object or class type required
Вод полный код окна Form1: unit Unit1; interface uses Windows, Messages, SysUtils,...

Ошибка: Record, object or class type required
Код программы: unit UnitZakazch; interface uses Winapi.Windows, Winapi.Messages,...

8
3432 / 2076 / 661
Регистрация: 29.05.2013
Сообщений: 8,907
12.07.2016, 23:06 2
А вы объект то создали?
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
try
   WordApp := GetActiveOleObject('Word.Application');
  except
   try
    WordApp := CreateOleObject('Word.Application');
   except on E: Exception
   do begin
      ShowMessage('Не удалось запустить Word!'#13#10 + E.Message);
      Exit;
      end;
   end;
  end;
1
пофигист широкого профиля
4658 / 3093 / 854
Регистрация: 15.07.2013
Сообщений: 17,837
13.07.2016, 00:50 3
Цитата Сообщение от Пабл0 Посмотреть сообщение
вот такой ошибкой "[Error] Object or class type required"
Нужно больше кода.
1
5 / 5 / 2
Регистрация: 25.10.2015
Сообщений: 236
13.07.2016, 10:48  [ТС] 4
Пытливый, Нет ...

Добавлено через 46 секунд
Пытливый, У меня просто путь на файл и он открывает один и тот же файл и вот якоря хочу сделать и что бы автоматически заполнялся лист
0
Почетный модератор
64287 / 47586 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
13.07.2016, 10:56 5
Нужно не Word, а другое имя переменной, и будет типа
Delphi
1
2
3
4
var
  WordApp: OLEVariant;
............................................
WordApp.Selection.Find.MatchSoundsLike := False;
1
5 / 5 / 2
Регистрация: 25.10.2015
Сообщений: 236
13.07.2016, 14:43  [ТС] 6
Сама программа выдает после ShowMessage('2'); Invalid variant operation

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function FindAndReplace(const FindText,ReplaceText:string):boolean;
  const wdReplaceAll = 2;
  var
    Word:variant;
    WordApp: OLEVariant;
    FilePath: string;
begin
  ShowMessage('1');
  FilePath := '\\10.100.0.10\DBClient\Reports\ClaimsHoliday\ClaimsHoliday.doc';
  ShowMessage('2');
  Word.Documents.Open(FilePath);
  ShowMessage('3');
  Word.Documents.Open(FileName:=FilePath, ReadOnly:=true);
  ShowMessage('4');
  Word:= CreateOleObject('Word.Application');
  Word.Selection.Find.MatchSoundsLike := False;
  Word.Selection.Find.MatchAllWordForms := False;
  Word.Selection.Find.MatchWholeWord := False;
  Word.Selection.Find.Format := False;
  Word.Selection.Find.Forward := True;
  Word.Selection.Find.ClearFormatting;
  Word.Selection.Find.Text:=FindText;
  Word.Selection.Find.Replacement.Text:=ReplaceText;
  FindAndReplace:=Word.Selection.Find.Execute(Replace:=wdReplaceAll);
end;
0
Почетный модератор
64287 / 47586 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
13.07.2016, 14:48 7
Так уберите word, это служебное слово и на может быть использовано в качестве имени переменной, работайте с WordApp


Добавлено через 13 минут
Вы посмотрите на приведенный Вами код, слово Word везде выделено жирным.
1
5 / 5 / 2
Регистрация: 25.10.2015
Сообщений: 236
13.07.2016, 16:12  [ТС] 8
Подскажите как сделать так что бы открывался не сам файл, а его копия.

К примеру есть Файл.doc при открытии Файл1.doc
0
3432 / 2076 / 661
Регистрация: 29.05.2013
Сообщений: 8,907
13.07.2016, 20:02 9
Так при открытии файл всегда открывается как копия. А вот перезаписать эту копию под старым именем или под новым уже другая задача.
Ваш замечательный пример, в котором вы создаете переменную WordApp: OLEVariant и дальнейший код говорит о том, что копировать вы в принципе научились неплохо, а вот понимать, что со всем этим делать - пока еще не очень
Для доступа к приложению MS Word и открытию в нем документа, надо это приложение запустить. Вы этого не делаете. Как это сделать я полный код вам привел, а вы его проигнорировали.
Ключевое слово Word в Дельфи используется для определения типа переменной. К чему приведет его такое вольное использование, я не готов ответить. Но есть у меня подозрение, что вы все равно не поймете о чем вам говорят. И это грустно.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.07.2016, 20:02
Помогаю со студенческими работами здесь

[Ошибка] : Record, object or class type required
Выдает ошибку: Unit_Kartka.pas(134): Record, object or class type required ...

Ошибка: Record, object or class type required
for i := 1 to temp + 1 do cells := i.ToString(); ???? roww := 1; coll :=...

Ошибка Record, object or class type required
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

Ошибка: Record, object or class type required, ругается на DataModule (DM)
Здравствуйте! Помогите пожалуйста разобраться с данной ошибкой. В программе есть DataModule (с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru