(現在 過去ログ29 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■4455 / inTopicNo.1)  繰り返しについて
  
□投稿者/ 篤姫 -(2009/03/08(Sun) 13:31:32)
    篤姫です。

    またまたご指導ください。

    イベントでは、遅延が使えないんですね。
    知らなかったです。

    遅延に変わる何か方法はないでしょうか?
引用返信 [メール受信/OFF] 削除キー/
■4456 / inTopicNo.2)  Re[1]: 繰り返しについて
□投稿者/ 今村 誠 -(2009/03/08(Sun) 17:26:15)
    篤姫さんこんにちは
    > 遅延に変わる何か方法はないでしょうか?
    質問の時は面倒でも、桐のバージョンと、いつ、どこで
    どのようなときに、こういうコマンドを書いて、こういうエラーが
    出たので、どうなってほしいとお書きになることをお勧めします。

     背景の解らない質問は興味も沸きません。

     こういうときに自分だったらどうしようと思うと、答えるかも
    しれませんが。

    昔は、点滅等で長い処理でメッセージや注意を促したり出来ました。
引用返信 [メール受信/OFF] 削除キー/
■4457 / inTopicNo.3)  Re[2]: 繰り返しについて
□投稿者/ 篤姫 -(2009/03/09(Mon) 08:38:28)
    今村 誠さん
    > 質問の時は面倒でも、桐のバージョンと、いつ、どこで
    桐:V9-2009です。
    OS:XP

    > どのようなときに、こういうコマンドを書いて、こういうエラーが
    > 出たので、どうなってほしいとお書きになることをお勧めします。

    エクセルの書き出し作業で
    1つのエクセルファイルに、シートを変更して書き出そうとおもうのです。

    エクセル書き出し "商品台帳","商品"・・・・・・
    エクセル書き出し "商品台帳","商品分類"・・・・

    とすると、
    1回目の書き出しの後、
    【エクセルが起動しています】とエラーが出ます。
    これを回避するために、遅延で時間を稼いでから
    2回目のエクセル書き出しを実行しようとしたら
    イベントでは【遅延】は使用できないとのことなので
    ここで、繰り返しで指定時間を稼ごうと・・・・・・!

    よろしくお願いいたします。
引用返信 [メール受信/OFF] 削除キー/
■4458 / inTopicNo.4)  Re[3]: 繰り返しについて
□投稿者/ ひろ -(2009/03/09(Mon) 09:02:02)
    篤姫さんこんにちは
    私も以前エクセル書き出しでエラーがでたのでイベントで遅延処理をする方法を質問しました。
    過去ログを遅延で検索すれば・・・・・・
引用返信 [メール受信/OFF] 削除キー/
■4459 / inTopicNo.5)  Re[4]: 繰り返しについて
□投稿者/ ONnoji -(2009/03/09(Mon) 11:51:56)
引用返信 [メール受信/OFF] 削除キー/
■4460 / inTopicNo.6)  遅延もどき
□投稿者/ Kanasy.Ge -(2009/03/09(Mon) 12:57:02)
    幅田さんとこの過去ログは、リンクが切れているので引用しておきます。

    >20340 Re:遅延はどうしたらいいの 悲しげ 2003/05/14-20:10
    >記事番号20338へのコメント
    >どもっ、今村さん
    >過去ログを「遅延」で検索したら、↓を初め色々と出てきます。
    >http://www.fuku3.com/~habata/kbbs/kakov8/13115.htm
    >
    >最近は、私は
    >
    >proc ウェイト(数値 &待) /*←短過ぎるので画面表示時間稼ぎの単なるウェイト(^^;)*/
    > &Etime=#時間加算(#日時値,&待,3)
    > while(#日時値=<&Etime)
    > end
    >end
    >
    >の手続きを、次のように任意の秒を指定して呼び出すような使い方をしています。
    >
    > call ウェイト(1.5)
    > call ウェイト(0.8)
    >
    >20341 Re:遅延はどうしたらいいの 悲しげ 2003/05/14-20:20
    >記事番号20340へのコメント
    >繰り返しループがCPUを100%使い切ること。
    >このことが「ファイル複写」に影響するかどうかは判りませんが、
    >念のために、遅延用の「見えないフォーム」を呼び出すのもよいかもしれません。(cf.前掲過去ログ)

引用返信 [メール受信/OFF] 削除キー/
■4461 / inTopicNo.7)  Re[6]: 遅延もどき
□投稿者/ うにん -(2009/03/09(Mon) 13:30:02)

    > >繰り返しループがCPUを100%使い切ること。
    > >このことが「ファイル複写」に影響するかどうかは判りませんが、
    > >念のために、遅延用の「見えないフォーム」を呼び出すのもよいかもしれません。(cf.前掲過去ログ)
    >

    この場合はやることが決まってるので、どうせ100%になるなら無限ループ内で
    エクセル書き出しして
    エラー0なら終了、233ならやり直し
    じゃだめですか。
    最初の書き出しでは桐コマンド以外が開いてることも考慮した方がいいです。
引用返信 [メール受信/OFF] 削除キー/
■4462 / inTopicNo.8)  桐のバージョンが古いのでは
□投稿者/ 今村 誠 -(2009/03/09(Mon) 15:35:49)
    篤姫さんこんにちは、お使いのバージョンは桐Ver9-2009
    ということですが私はつい最近桐VerV9-2009aにしました。
     下記のようなイベントをエクセル起動中に実行しましたが
    2つのシートを書き出して正常に終了します。
     ファイルの大小では影響されないように思いますが、他の方は
    再現できるのでしょうか?

    proc エクセル起動()
     if (#FSIZE("商品元帳.xls")>0)
      ファイル削除 "商品元帳.xls"
     end
     if (#FSIZE("商品台帳.xls")>0)
      ファイル削除 "商品台帳.xls"
     end
     エクセル書き出し "商品台帳.xls","",項目名行=する, 上書き=する,\
     開く=する, 表示=する, 書式反映=しない, 文字列優先=しない\
     ,終了状態=&実行リターン
     * call ウェイト(1.5)
     エクセル書き出し "商品元帳.xls","",項目名行=する, 上書き=する,\
     開く=する, 表示=する, 書式反映=しない, 文字列優先=しない\
     ,終了状態=&実行リターン
    end

引用返信 [メール受信/OFF] 削除キー/
■4464 / inTopicNo.9)  Re[8]: 桐のバージョンが古いのでは
□投稿者/ うにん -(2009/03/09(Mon) 17:12:45)
    > ということですが私はつい最近桐VerV9-2009aにしました。

    うちではクロスエクセルは使わないので古いままでしたがaにしてみました。

    >  下記のようなイベントをエクセル起動中に実行しましたが
    > 2つのシートを書き出して正常に終了します。

    そんな機能更新ありました?

    > 再現できるのでしょうか?

    以下の一括処理で2つ目のファイルは作成されません。
    1つ目のファイルに2つ目のシートを作るのに3〜5秒かかっている。(ファイルタイムスタンプと変数値の差)

    エクセル書き出し "桐toEXCEL", "1st", 項目名行=する, 上書き=する, 開く=しない, 終了状態=&実行リターン
    エクセル書き出し "桐toEXCEL2", "1st", 項目名行=する, 上書き=する, 開く=しない, 終了状態=&実行リターン
    &時刻=#時刻
    繰り返し
     エクセル書き出し "桐toEXCEL", "2nd", 項目名行=する, 上書き=する, 開く=しない, 終了状態=&実行リターン
     条件 (&実行リターン=0 .OR #時間(&時刻, #時刻, 3) > 10) 繰り返し中止
    繰り返し終了

    篤姫さんは、終了状態=を指定してないのではないかな。

    エクセル書き出しでシートを追加すると後の方が手前になってしまいますね。
引用返信 [メール受信/OFF] 削除キー/
■4465 / inTopicNo.10)  エクセルが新しいからでは
□投稿者/ 今村 誠 -(2009/03/09(Mon) 17:39:45)
    2009/03/09(Mon) 18:09:39 編集(投稿者)

    エクセルが2000だから起動中でもエラーにならないのかもしれません。
    下記のように書き換えて、エクセル起動中に実行してみました。

    「失敗しました」と表示されましたが、シートは正常に書き出ししています。

    proc エクセル起動()
    var Long{&Lcount=1}
    エクセル書き出し "桐toEXCEL", "1st", 項目名行=する, 上書き=する, 開く=しない, 終了状態=&実行リターン
    エクセル書き出し "桐toEXCEL2", "1st", 項目名行=する, 上書き=する, 開く=しない, 終了状態=&実行リターン
    &時刻=#時刻
    繰り返し
     &Lcount=&Lcount+1
     エクセル書き出し "桐toEXCEL", #str(&Lcount)+"nd", 項目名行=する, 上書き=する, 開く=しない, 終了状態=&実行リターン
     if (&実行リターン=0 .OR #時間(&時刻, #時刻, 3) > 10)
       確認 "失敗しました"
       繰り返し中止
     end
    繰り返し終了
    end

    できあがったファイルをエクセルで開き保存しようとすると
    バージョンが古いとコメントが出て保存しますかと聞いてきます。
引用返信 [メール受信/OFF] 削除キー/
■4468 / inTopicNo.11)  Re[10]: エクセルが新しいからでは
□投稿者/ 篤姫 -(2009/03/10(Tue) 08:36:08)
    みなさん
    ありがとうございます。

    急な出張で、レスが遅くなりまして
    申し訳ありません。

    私のパソコンのエクセルは2000でした。
    それと、桐ver9-2009a
    ってあるんですか?

    どうやって確認できますかぁ?

    皆さんからご指導いただいた内容を勉強させていただきます。
    成功しましたら、またこちらに書き込みさせていただきます。
    ありがとうございました。

    ちょっと勉強します。

引用返信 [メール受信/OFF] 削除キー/
■4469 / inTopicNo.12)  Re[11]: エクセルが新しいからでは
□投稿者/ 篤姫 -(2009/03/10(Tue) 10:48:56)
    みなさん
    ありがとうございました。

    色々チャレンジしました。

    桐もv9-2009aにバージョンアップしました。
    エクセルは2000です。

    エクセル書き出しの終了状態の変数を指定していませんでしたが
    これを指定しました。

    変数が0になるまでリピートするようにしました。

    すると
    出来ました。

    皆さんのおかげです。
    ありがとうございました。

    次回もよろしくお願いいたします。

解決済み!
引用返信 [メール受信/OFF] 削除キー/
■4470 / inTopicNo.13)  Re[12]: エクセルが新しいからでは
□投稿者/ 尾形 -(2009/03/10(Tue) 12:22:40)
    どうも、こんにちは

    > 変数が0になるまでリピートするようにしました。
    無限ループ対策をお勧めします

    既出でしたらごめんなさい

引用返信 [メール受信/OFF] 削除キー/
■4472 / inTopicNo.14)  Re[13]: エクセルが新しいからでは
□投稿者/ 今村 誠 -(2009/03/11(Wed) 12:24:23)
    篤姫さんこんにちは、解決済みですが、何故同じバージョンの
    桐とエクセルで動作に違いが出るのか
    どこが違うのかを考えてみると
    私は、一度下記のソフトをインストールして削除していました。

    Word/Excel/PowerPoint 2007 ファイル形式用 Microsoft Office 互換機能パック

    http://www.microsoft.com/downloads/details.aspx?familyid=941B3470-3AE9-4AEE-8F43-C6BB74CD1466&displaylang=ja

    インストール時の注意や追加される機能の説明

    http://support.microsoft.com/kb/924074/ja

     追加と削除の画面には残っていませんでしたが、wordやexcelを開くと
    word2007 文書 等がファイルの種類に追加されていました。
     エクセル起動中や停止中に、以下の記述のように終了状態を指定しない場合でも
    エラー表示しないで、正常に書き出されます。

    proc エクセル起動()
     エクセル書き出し "桐toEXCEL", "1st", 項目名行=する, 上書き=する, 開く=しない
     エクセル書き出し "桐toEXCEL2", "1st", 項目名行=する, 上書き=する, 開く=しない
     エクセル書き出し "桐toEXCEL", "2nd", 項目名行=する, 上書き=する, 開く=しない
    end

    ただし、書き出したファイルを編集状態で開いていた場合は、桐でボタンを押して
    イベントを実行すると、ファイルにアクセス出来ませんとエラーが表示されます。

    エクセルで2007の新機能を使い編集することは考えられないので、バージョンアップ
    はしませんが、送られたファイルを見ることは出来るので、ソフトとしては便利で
    製造元も microsoft なので信頼でき、あっても邪魔にはならないのではと思います。

    一度インストールし削除すると追加と削除のメニューからは削除されますが、
    機能は残っているので動作に違いが出るのだと思います。
引用返信 [メール受信/OFF] 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -