ホーム   フォーラム   FAQ
 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

EXCELのOLEによる読取がうまくいきません

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014-5-30 10:12
Ace_Nagashim  一人前   投稿数: 105
ISHIJIMAさん、ありがとうございます。

色々と試してみたいと思います。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014-5-29 17:19
ISHIJIMA  長老 居住地: 静岡県  投稿数: 1827
ComObjectCreateは一番最初に行えばよいかと思います。

あと自動でテストすることはできませんか?
自動でできないのであればこのComObjectCreateは関係ないかと思います。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014-5-29 17:09
Ace_Nagashim  一人前   投稿数: 105
ISHIJIMAさん、ありがとうございます。

ComObjectCreate('D'Var) はどのタイミングで行えば良いのでしょうか。

タスク前処理の先頭で ComObjectCreate('D'Var) 定義して
実行したところ、戻り値は -4:不明なエラーでした。

外部コール  C=COM  Method Excel_Application.Workbooks.Open の後に定義して実行しても、戻り値は -4:不明なエラーでした。

宜しくお願いします。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014-5-29 16:07
ISHIJIMA  長老 居住地: 静岡県  投稿数: 1827
戻り値を数字項目として定義して項目更新で戻り値にComObjectCreate('D'Var)を行ってみて下さい
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014-5-29 16:00
Ace_Nagashim  一人前   投稿数: 105
ISHIJIMAさん、ご教示ありがとうございます。

Excel2013のライブラリーはインスタンス化が'なし'で固定されるようです。

ComObjectCreateはどのように使用するのでしょうか。

外部コール  C=COM  Method Excel_Application.Workbooks.Open の
後に
アクション ComObjectCreate('D'Var) を記述してみましたが、
F8チェックで型があっていませんとエラーになってしまいます。

宜しくお願いします。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014-5-29 15:10
ISHIJIMA  長老 居住地: 静岡県  投稿数: 1827
インスタンス化N=なしになっているのであれば下記の関数が必要だと思います。

COMObjCreateやCOMObjRelease関数を使用して手動でオブジェクトのインスタンスを作成したり解放したりします。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014-5-29 14:26
Ace_Nagashim  一人前   投稿数: 105
ISHIJIMAさん、ご教示ありがとうございます。
EXCEL.ZIPはダウンロードして参考にしました。

HAYATOさん、ありがとうございます。
変数 D  Excel_Application    OLE
の項目特性は次の様になっています。
型          O=OLE
データビューの一部  Yes
タイプライブラリ   Microsoft Excel 15.0 Object Library (Ver1.8)
オブジェクト名    _Application
サブオブジェクト名  空白
インスタンス化    N=なし
リモートホスト    空白
デフォルト記憶形式  No
記憶形式       Binary Large Object
サイズ        28
データベース定義   S=文字列
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014-5-27 14:30
HAYATO  一人前 居住地: 大阪市淀川区西中島5-9-2  投稿数: 90
こんにちは
ひょっとすると環境の問題かもしれません。

変数 D  Excel_Application    OLE
での宣言は正常に出来ていますか?

HAYATO@アインシュタイン設計社
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014-5-27 0:28
ISHIJIMA  長老 居住地: 静岡県  投稿数: 1827
ダウンロード(β)にXPA/UNIPASSのEXCELの書き出しサンプルがあります。
参考にできないでしょうか
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014-5-26 16:26
ISHIJIMA  長老 居住地: 静岡県  投稿数: 1827
どうして起動しないかはょっとわかりませんが起動するところまでできれば後の処理はできるのではないでしょうか
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014-5-26 13:46
Ace_Nagashim  一人前   投稿数: 105
ISHIJIMAさん、ありがとうございます。

試してみましたが、指定したEXCELファイルは開きませんし、
EXCEL自体も起動しません。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014-5-22 20:00
ISHIJIMA  長老 居住地: 静岡県  投稿数: 1827
EXCELを表示させることはできますか?
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 .4 .5 .6 .7 | 投稿日時 2014-5-17 15:33
Ace_Nagashim  一人前   投稿数: 105
Win7Pro Sp1+MagicV10+EXCEL2013の環境で
ExcelのデータをOLEを用いて読み取るプログラムを作成中ですが
うまくいきません。
詳しい方のご教示をお願いします。

EXCELファイル名:C:\My Documents\Hoge.xls(97-2003形式)
 A    B     C
1 注番  品番   数量
2 012345 A101-223  10
3 012346 A122-334  20
4 012347 B203-445  30

親タスクで取り込むEXCELファイルを指定して、レコード後処理で
子タスクをCALLします。

子タスクは
レコードメイン
変数 D  Excel_Application    OLE
変数 E  Excel Workbook      OLE
変数 F  Excel Worksheet     OLE
変数 G  Excel Range       OLE
変数 H  1次配列         ベクトル
変数 I  2次配列         ベクトル
変数 J  最終行No         数値   #6
変数 K  V品番          文字   X8

タスク前処理
※ExcelファイルをOpen
外部コール  C=COM  Method Excel_Application.Workbooks.Open
          戻り値=Excel Workbook
          パラ1:Filename="で囲ったフルパスのEXCELファイル名
※ワークシート(No.1)をワークシート変数に格納
外部コール  C=COM  Get Excel_Application.Worksheets.Item
          戻り値=Excel Worksheet
          パラ1:Index=1
※ワークシートからRangeに格納
外部コール  C=COM  Get Excel Worksheet.Range
          戻り値=Excel Range
          パラ1:Cell1='A1' パラ2:Cell2='C4'
※ワークシートの最終行を取得
外部コール  C=COM  Get Excel Worksheet.Range.Rows.Count
          戻り値=最終行No
※Rangeから二次元配列にテーブルを格納
外部コール  C=COM  Get Excel Range.Value2
          戻り値=2次配列

レコード後処理
項目更新  1次配列  値:VecGet (2次配列,2)
項目更新  V品番   値:VecGet (1次配列,2)

このようにテストプログラムを作成して試していますが
ワークシートの最終行の取得・品番の取得が行えません。
どなたかのご教示をお願いします。
投票数:0 平均点:0.00

  条件検索へ


Copyright (C) Magic Software Japan K.K. All Rights Reserved.
個人情報保護方針 会員規約