Конференция "Corba" » Вставка спецсимвола в Ворд [Delphi, Windows]
 
  • Николай2008 (25.10.08 11:48) [0]
    Здравствуйте!
    Столкнулся с проблемой - программа работает с Word через OLE, составляет отчеты. Существует необходимость вставки в Ворд спецсимвола "Macron" (подчеркивание (черточка) сверху, противоположность "_"). Код символа 175. Однако, вместо нужного символа вставляется буква i с двумя точками наверху. Спецсимволы с кодами 174 и 176 ("R в кружочке" и знак градусной меры) вставляются нормально. Привожу пример кода:

    unit Unit1;

    interface

    uses
     Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
     Dialogs, StdCtrls, comobj;

    type
     TForm1 = class(TForm)
       Button1: TButton;
       procedure Button1Click(Sender: TObject);
     private
       { Private declarations }
     public
       { Public declarations }
     end;

    var
     Form1: TForm1;
     WordApp:Variant;

    implementation

    {$R *.dfm}

    procedure WordInsertText(Text: string);
    begin
       WordApp.Selection.TypeText(Text);
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    begin
       WordApp := CreateOleObject('Word.Application');
       WordApp.Documents.Add(EmptyParam, EmptyParam); //проверка наличия шаблона, открытие, возможно только-чтение, проверить
       WordApp.Visible := true;
       WordInsertText(Widestring(#175))
    end;

    end.

    P.S. Скорее всего существует возможность записать макрос на вставку символа в самом Ворде и вызывать его, но, по определенным причинам, это не подходит.
    Спасибо
  • clickmaker © (27.10.08 13:26) [1]
    а через Selection.InsertSymbol ?
  • Николай2008 (27.10.08 13:54) [2]
    спасибо - точно, пропустил этот вариант!
 
Конференция "Corba" » Вставка спецсимвола в Ворд [Delphi, Windows]
Есть новые Нет новых   [120355   +33][b:0][p:0]