2017-05-27 2 views
0

私はWindows 10 64ビット版でDelphi X10とWord 2016 64ビットを使用します。 私は常にComObjを使いました。例えば :DelphiでWordとExcelを使用するにはどうしたらいいですか?

uses ComObj; 


procedure TForm1.RzBitBtn1Click(Sender: TObject); 
var Excel: variant; i, j: word; 
begin 
    Excel := CreateOleObject('Excel.Application'); 
    Excel.Workbooks.Open('file.xls'); 
    for i := 1 to 5 do 
    for j := 1 to 5 do 
    StringGrid1.Cells[j, i] := Excel.Sheets[1].Cells[i, j].Text; 
end; 

しかし、私はExcelのメソッドのためのautocompleateを使用したいです。私はタイプライブラリをインポートすべきものを読んでいますが、私のシステムでタイプライブラリファイルを見つけることができません。

+0

だから、どうしたのですか?タイプライブラリがシステムに存在しない場合、どうすれば助けますか? Officeセットアップによってインストールされているかどうかを確認してください(デフォルトではないかもしれません)。 – Victoria

答えて

0

Excel anmd Wordのタイプライブラリが正しく登録されている限り、これは非常に簡単です。

Delphiのインストールの下にあるOCX \ Serversフォルダに移動し、Word2010.Pasを探します。これを新しいVCLプロジェクトに追加し、メインフォームのユニットで使用します。メインフォームにフォーム変数A: WordApplicationを宣言します。それが行わ付き

、あなたはForm1のForm.Createに行くことができるはず、タイプ

A. 

とオートコンプリートはあなたにWordApplicationのメソッドとプロパティの可能性を提供する必要があります。

、オープンWord2010.Pas、あなたにWord2010.Pasを生成するために使用されたタイプライブラリの名前と場所を伝えセクション

// File generated on 2/20/2013 5:56:45 PM from Type Library described below. 

// ************************************************************************ // 
// Type Lib: c:\Program Files\Microsoft Office\Office14\msword.olb (1) 
// LIBID: {00020905-0000-0000-C000-000000000046} 

を見つけます。

2010年版からWord/Excelに追加されたメソッド/プロパティを使用する必要がない限り、Word2010.PasとExcel2010.Pasが必要な場合があります。ただし、Delphiを使用してより新しいバージョンのタイプライブラリをインポートして、インポートユニットを生成することができます。正確に行う方法は、Delphiのバージョンによって異なりますが、Delphi Seattleの場合は異なります。あなたは単にコンポーネント| IDEのメインメニューから「コンポーネントのインポート」を選択し、ポップアップでImport type libraryを選択し、ウィザードの指示に従います。

インポートユニットを生成したら、明らかにMSWord2010ではなくプロジェクトで使用するだけです。

Btw、厳密に言えば、「デルファイX10」はありません。最近のバージョン(XE8以降)はシアトル、ベルリン、東京です。

+0

回答ありがとうございます。 問題は、オフィスには64ビットなので、システムにタイプライブラリがないようです。言葉やExcelはなく、一部のOfficeのみ。 https://ibb.co/jQ7QTF –

+0

まず、Word2010.Pasがシステムで動作しているかどうかを確認することです。そうでない場合は、ExcelとWord用の64ビットタイプライブラリの名前を見つけて登録し、参照する必要があります。インポート方法についてはhttps://bobsotherblog.wordpress.com/2013/09/19/import-64bit-type-libraries-in-delphi/を参照してください。あなたが望むものがIDEでオートコンプリートされることになっているならば、面倒なプロセスになる可能性があります。 – MartynA

関連する問題