2016-07-21 5 views
0

にVFP9からExcelを呼び出す:は、私が始まる、オートメーションを使用してExcelファイルを生成VFP9アプリケーションを持っている64ビットマシン

**oExcel = CREATEOBJECT(“Excel.Application”) 
oWorkbook = oExcel.Workbooks.Add()** 
. . . 

エクセル2013を使用しています。その後、シートにデータが取り込まれ、フォーマットされ、保存されます。これは、Windows 7の32ビットマシンで正常に動作します。しかし、Windows 7の64ビットマシンでは、いくつかの命令が失敗します。特に:

**oworkbook.SaveAs(<NewFilename>)** 

は、回避策としてメッセージ「ワークブッククラスの名前を付けて保存]プロパティを取得できません」

で失敗し、私はExcelのオブジェクトを作成する前に作成され、その後、呼ばれています:

**oworkbook.Save()** 

これは機能します。他のユーザーにこれを体験させてもらいます。 64ビットマシンで実行しているときにVFPからExcelを使用することには他の制限があります。

おかげ

答えて

0

どちらoWorkbook.SaveAs()もoWorkbook.Save()は64ビットマシン上の任意の問題を抱えている(私はあなたが窓(7/8/10)64を意味と仮定します)。あなたの問題は何か他のものでなければなりません。

+0

ありがとうございました。あなたは有用なポインタを与えています。私が言及したように、Save()に問題はありません。それは常に働いていた。 Excel 2003とExcel 2013では、SaveAs()がわずかに異なるように見えます。xlExcel8(= 56)という2番目のパラメータが含まれていると、.xls出力を指定するとExcel 2003を使用するとエラーが発生します。私はさらに調査します。だから私は、問題はWindowsのバージョンではなく、Excelのバージョンに関連していると思う。あなたの助けをもう一度ありがとう。 –

+0

ああ、それを説明する必要があります。 Excel 2003はxlExcel8(56)値を認識しません。なぜExcel 8として保存したいと思いますか?xlWorkbookNormalは問題ありません(またはフォーマットパラメータなし)。 –

0

私は同じ問題を経験しましたが、問題は私が行ったのとは異なるバージョンのExcelを持っていることが判明しました。 64ビットと32ビットではありませんでした。私はそれを定義して解決しました:

#define xlNormal 39 

これは、ブックのターゲットバージョンを設定します。 https://msdn.microsoft.com/en-us/library/office/ff198017.aspx

私は、50を節約しているアプリケーションでは、開く必要があり、保存フラグを設定し、作業をしてからSaveAsと言うことがわかりました。

これで幸運にも:)この質問を閉じることを検討してください。私はあなたがそれについて2点になると思う。

+0

ありがとうMissy。私は質問を閉じることができてうれしいです。どうやってやるの? - あなたは私のためにそれをすることができますか? –

+0

0を見ますか?その下には下向き矢印があります。その上にマウスを置くと見ることができるチェックマークがあります。チェックマークをクリックします。また、0の上にある上向きの矢印をクリックすると、すべての回答があなたを助けた皆様に感謝します。 – Missy

+0

ミッシーありがとうございます。それをします。私は総リコールを持っていませんが、私はCetinというメンバーが非常に迅速に対応したことを覚えているようです。彼の返事に感謝しなければならないと思う。それはできますか/ –

関連する問題