[ 掲示板に戻る ]

過去ログ閲覧モード

エクセルで開いたcsvをxlcloseでcsvのまま保存したい。 お世話になっております。 「displayalerts」というのを別のサイトで見つけまして、「これだ!」と思って興奮したのも束の間、csvで保存するとエラーがでます。 今は、一つ一つ動作を追って保存してますが、途中何かがあるとエラーになります。 こういうのは、駄目なのでしょうか? エクセル = GETID("Microsoft Excel - date.CSV", "XLMAIN", -1) //データベースから出力されるのを待つ。 Excel = XLOPEN() //起動済みのExcelを捕まえる。 Excel.application.displayalerts = false //保存しますか?の確認メッセージを出さない。 XLCLOSE( Excel,"D:\date.csv") //保存する。 / sen
お世話になっております。
「displayalerts」というのを別のサイトで見つけまして、「これだ!」と思って興奮したのも束の間、csvで保存すると保存形式が違うとエラーがでます。
今は、一つ一つ動作を追って保存してますが、途中何かがあるとうまくいきません。
こういうのは、駄目なのでしょうか?


GETID("Microsoft Excel - date.CSV", "XLMAIN", -1) //データベースから出力されるのを待つ。
Excel = XLOPEN() //起動済みのExcelを捕まえる。
Excel.application.displayalerts = false //保存しますか?の確認メッセージを出さない。
XLCLOSE( Excel,"D:\date.csv") //保存する。

No.676 2015/01/06(Tue) 23:52:41

Re: エクセルで開いたcsvをxlcloseでcsvのまま保存したい。 / Nagatani
そのままのスクリプトなら下記でいかがでしょうか?
GetID("Microsoft Excel - data.csv","XLMAIN",-1) //データベースから出力されるのを待つ。
Excel = XLOPEN() //起動済みのExcelを捕まえる。
Excel.application.displayalerts = false //保存しますか?の確認メッセージを出さない。
EXCEL.ActiveWorkBook.Save //上書き保存
Excel.quit //Excel を終了

No.678 2015/01/07(Wed) 20:17:37

Re: エクセルで開いたcsvをxlcloseでcsvのまま保存したい。 / sen
返信ありがとうございます。
データベースから出力されるので、Dドライブにうまく保存できないのです。

No.679 2015/01/08(Thu) 01:05:16

Re: エクセルで開いたcsvをxlcloseでcsvのまま保存したい。 お世話になっております。 「displayalerts」というのを別のサイトで見つけまして、「これだ!」と思って興奮したのも束の間、csvで保存するとエラーがでます。 今は、一つ一つ動作を追って保存してますが、途中何かがあるとエラーになります。 こういうのは、駄目なのでしょうか? エクセル = GETID("Microsoft Excel - date.CSV", "XLMAIN", -1) //データベースから出力されるのを待つ。 Excel = XLOPEN() //起動済みのExcelを捕まえる。 Excel.application.displayalerts = false //保存しますか?の確認メッセージを出さない。 XLCLOSE( Excel,"D:\date.csv") //保存する。 / Nagatani
ファイル名等を変更する場合は
EXCEL.ActiveWorkBook.SaveAs("D:\data.csv") //上書き保存
です!

No.680 2015/01/08(Thu) 08:21:46

Re: エクセルで開いたcsvをxlcloseでcsvのまま保存したい。 / sen
ありがとうございました。
うまくいきました。

No.688 2015/01/09(Fri) 23:50:23
要望&報告 / ミリアム
いつも便利に利用させて頂いてます。ありがとうございます!

要望(報告)がいくつかあります…。


?@ SLCTBOX関数の種別指定で SLCT_CHK OR SLCT_NUM や SLCT_LST OR SLCT_NUM のように指定したとき、何も選択されないでOKが押されると、文字列の "" が返ってきます。

×ボタンでの終了は-1を返す、というのと同じようにヘルプファイルに書いてほしいです。


?A ヘルプファイルの 予約語&関数一覧 の 定義済み仮想キー の項目に VK_LSHIFT, VK_LCTRL, VK_LWIN, VK_LALT 系の仮想キーコードが載ってませんでした。

No.677 2015/01/07(Wed) 01:22:03
c:\windows\system32\tasks内のファイル・フォルダの一部が見えない? / min
いつもおせわになっております。

Win8.1(64bit)で、「c:\windows\system32\tasks」内の全フォルダ名・ファイル名を取得する方法が分からず行き詰っております。

以下のコマンドを管理者権限で実行してみたのですが、そこにあるはずのフォルダやファイルの一部が取得できませんでした。どのような方法をとればよいかご教示願います。

msgbox( doscmd( "dir c:\windows\system32\tasks" ) )


環境はWindows8.1(64bit)、uwsc5.0.4です。
getdir関数やFileSystemObjectでも同様でした。

Win7(32bit)では問題ありませんでした。

No.670 2015/01/06(Tue) 12:38:17

Re: c:\windows\system32\tasks内のファイル・フォルダの一部が見えない? / koi
64ビット環境はないので詳細分かりませんが
それはそもそもuwscの問題と違うのでは?

コマンドプロンプト上で同じコマンド打って見えるのにuwscから
実行すると見えなくなるって話なんでしょうか?
そうならばuwscの問題ですがそうでないなら
コマンドライン上の問題です

不可視属性が付いてるとかシステムファイルだとかいった話ではないのでしょうか?
とりあえず dir /a のオプション指定含めて確認してみてください

詳細オプションは dir /? にて確認してください

No.671 2015/01/06(Tue) 14:53:07

Re: c:\windows\system32\tasks内のファイル・フォルダの一部が見えない? / min
koiさん、ご返信ありがとうございます。

コマンドプロンプトでは問題なく確認可能です。
不可視属性でもありません。

No.672 2015/01/06(Tue) 15:14:48

Re: c:\windows\system32\tasks内のファイル・フォルダの一部が見えない? / stuncloud
32bitアプリからだとsystem32ではなくSysWOW64を参照しちゃうんですよね
32bitのコマンドプロンプトでも同様の結果になります

msgbox( doscmd( "dir c:\windows\sysnative\tasks" ) )
でうまくいくはずです

No.673 2015/01/06(Tue) 15:36:55

Re: c:\windows\system32\tasks内のファイル・フォルダの一部が見えない? / min
stuncloudさん

リダイレクタ!
レジストリをいじるときは意識していますが、タスクにも影響があるとは思い至りませんでした。
おかげさまで無事解決できました。ありがとうございました!

koiさん、ご指摘の通りuwscの問題ではありませんでした。
掲示板を汚してしまい申し訳ありませんでした。

No.674 2015/01/06(Tue) 15:44:53
文字位置の取得について / かとう
過去の下記掲示板の記事を見て、文字列の座標位置を取得していたのですが、
今日、試してみたところCOMエラーになりました。

エラー箇所はIE.document.parentWindow.screenLeftとIE.document.parentWindow.screenTopと思われます。確かに以前は当コードで動作していました。
原因と対応方法が分かる方がいましたら是非ご連絡頂きたいです。
よろしくお願い致します。



RE:ホームページ上の特定の文字列の座標を取得したい。 Liners



//例えば、この掲示板をIEで表示してあるとすると、「商品名の表示座標」という文字列を反転・マウス移動・吹き出しで10秒座標表示するサンプル。

IE = GetactiveOleOBJ("InternetExplorer.Application")
Textrange = IE.document.body.createTextRange()
ifb Textrange.findText("商品名の表示座標")
  Textrange.select()
  x = Textrange.boundingLeft + IE.document.body.scrollLeft + IE.document.parentWindow.screenLeft
  y = Textrange.boundingTop + IE.document.body.scrollTop + IE.document.parentWindow.screenTop
  mmv(x, y)
  fukidasi("x:" + x + " y:" + y, G_MOUSE_X, G_MOUSE_Y - 35)
  sleep(10)
endif


DATE:2012/2/26(Sun) 21:06

No.656 2015/01/03(Sat) 21:20:07

Re: 文字位置の取得について / Liners
[原因] IE11の変更に伴うもの。 IE10では正常。
    おそらく名前が変更されたか、なくなってしまったのでしょう。

[対策] 問題の部分は、クライアント座標なのでUWSCで肩代わりしてみます。
    すると、残念ながらほぼWindow全体なので、特にY座標のズレが大きいです。
    仕方ないので、タイトル・メニューの分だけ決め打ちします。<要調整。

IE = GetactiveOleOBJ("InternetExplorer.Application")
ID = HNDTOID(IE.hwnd)
CLY = 54 //<要調整
Textrange = IE.document.body.createTextRange()
ifb Textrange.findText("商品名の表示座標")
  Textrange.select()
  x = Textrange.boundingLeft + IE.document.body.scrollLeft + STATUS(ID, ST_CLX)
  y = Textrange.boundingTop + IE.document.body.scrollTop + STATUS(ID, ST_CLY) + CLY
  mmv(x, y)
  fukidasi("x:" + x + " y:" + y, G_MOUSE_X, G_MOUSE_Y - 35)
  sleep(10)
endif

No.660 2015/01/04(Sun) 08:23:55

Re: 文字位置の取得について / かとう
Liners様

ありがとうございます。動きました。
早速のご教示ありがとうございます。

No.664 2015/01/04(Sun) 19:56:04

Re: 文字位置の取得について / routa
Windows Updateの KB3025390のバグによるものです。
一部のJavaScriptが使えないようです。

No.669 2015/01/06(Tue) 00:47:36
ランチメニューの登録にドラッグ&ドロップ / sen
自分が悪いのですが、パソコンが壊れてしまいまして、真っ青です。
プログラムの方はバックアップをとっていたので、どうにかなりましたが、
uwsc.iniが無くなりました。

ランチメニューは、もの凄く活用してまして、真っ青です。
プログラムの方は数えてみますと300近くになりまして、その中から選び出して
一つ一つ登録するのは大変です。
ランチャーも検討しましたが、uwscの方が使いやすいのです。
ただ、ドラッグ&ドロップで登録できたら、良いのにと思いました。

それと、uwsc.iniのバックアップとかはどうされているのでしょうか?

また、グーグルドライブとかで、二台同じ環境にして作業される方法はありませんでしょうか?

No.657 2015/01/04(Sun) 00:18:26

Re: ランチメニューの登録にドラッグ&ドロップ / Liners
最近のUWSCでは、INI/LOGファイルの場所が移動しています。一度確認されては?
>「INI/LOGファイルの場所を %APPDATA%下に固定した」

No.658 2015/01/04(Sun) 00:50:30

Re: ランチメニューの登録にドラッグ&ドロップ / sen
>最近のUWSCでは、INI/LOGファイルの場所が移動しています。一度確認されては?
>>「INI/LOGファイルの場所を %APPDATA%下に固定した」

ありました。


>☆ Re: 機能の問い合わせ / Nagatani
>私なら、下記のスクリプト2行を変更したいパソコンへセットします。
>下記OSはWindows7の場合です。

>DOSCMD("COPY C:\INI保存元\UWSC.INI C:\Users\ユーザー名\AppData\Roaming\UWSC")
>POFF(P_UWSC_REEXEC)

同様の質問をされた方への解答が、自分にピッタリみたいなので、やってみます。


>ただ、ドラッグ&ドロップで登録できたら、良いのにと思いました。

多分UWSCの使い手は、ドラッグ&ドロップなんかでせずに、READINI・WRITEINIで書き換えるのでしょうね。

No.668 2015/01/05(Mon) 22:03:38
IESetData や IELink でクリックが出来ません。 / 石原引退
前回質問の続きです。
IE.Quit でウインドウを閉じることは出来るのですが、
そのページ内において IESetData や IELink でクリック出来ず戻り値が False になってしまいます。
原因と対策をアドバイスお願いします。

(前回質問は下の方にあります。検索キー「石原引退」)

No.667 2015/01/05(Mon) 20:03:56
UWSCでIE操作。CTU管理画面が動かない。 / 石原引退
対処法を教えて下さい。よろしくお願いします。

IEを起動してページを表示して、「ログイン」をクリックして「切断」をクリックする動作です。
数カ月前から問題なく動作していたのですが、先月から急に「切断」のクリック動作が自動で動かなくなりました。

IE2 = CreateOLEObj("InternetExplorer.Application")
IE2.Visible = True
IE2.Navigate("https://ctu.fletsnet.com/")
BusyWait(ie2)
IESetData(IE2, True, "btnLogin", "ログイン")
BusyWait(ie2)
IESetData(IE2, True, "CONNECT_OFF_CLICKRUN_C1025", "切断") ←★動かない!

表示させているページは、NTT西日本のルーターの管理画面です。
ファームウェアが自動バージョンアップされてHTMLが変わったのか?と思ったのですが、
該当部分のコードを見る限り問題は無いようです。

<input type="button" style="width:60px;" name="CONNECT_OFF_CLICKRUN_C1025" value="切断" onclick="return doAction('2', 'CONNECT_OFF_CLICKRUN_C1025');">

「切断」をクリックさせるにはどうすれば良いでしょうか?
アドバイスをお願い致します。

No.659 2015/01/04(Sun) 01:31:49

Re: UWSCでIE操作。CTU管理画面が動かない。 / stuncloud
// ボタン押下時に実行されるjs関数を直接呼んでみるとか?
IE2.Navigate("javascript:doAction('2', 'CONNECT_OFF_CLICKRUN_C1025');")

No.665 2015/01/05(Mon) 10:43:08

Re: UWSCでIE操作。CTU管理画面が動かない。 / 石原引退
stuncloudさんありがとうございます。

しかしやはり動きませんでした。
自分でももう少し調べてみます。

No.666 2015/01/05(Mon) 18:04:11
UWSCと同時にRecIEを表示させる方法 / 田中
お世話になっております。
RecIEについて教えてください。

UWSCをタスクマネージャーで指定時間に立ち上げるように設定しているのですが、
同時にRecIEも立ち上げたいのですがそれは可能でしょうか?

また、タスクマネージャーじゃなくても他の方法で可能ならそれを教えていただけたら助かります。

OSはWindows7です。

宜しくお願いします。

No.661 2015/01/04(Sun) 10:08:05

Re: UWSCと同時にRecIEを表示させる方法 / koi
>UWSCをタスクマネージャーで指定時間に立ち上げるように設定しているのですが、
それと同じことをRecIEでやればいいだけではないのでしょうか?

タスクマネージャではなくてタスクスケジューラの話ですよね?
それがだめなら何がダメなのかをもっと明確にしてもらわないとわかりません

No.663 2015/01/04(Sun) 18:51:05
業務で使ってみました / いりや
みなさま、新年あけましておめでとうございます。

新しい職場でWindows Platformでの仕事をするようになり、UWSC Proを業務に実際に使ってみました。その事例をご紹介したいと思います。

スクリプトの実例はありませんがご笑覧いただけましたら幸いです。


1. ソフトウェア製品の構築時の初期データの投入作業の自動化

今担当しているソフトウェア製品は一般的なウェブアプリケーション製品でウェブ画面からほとんどの機能を使用することが出来るようになっています。

データを投入するインターフェイスも提供しているのですが、いわゆる一括投入が出来ない(機能がある)。なので構築時などで発生する初期データの投入時は人海戦術以外に頼れないという問題がありました。

解決策として別途に提供されているウェブサービス機能 (SOAP) で一括投入を行うプログラムを PowerShell などの処理系でこさえてもよいのですがハードルが高く。

また RDBMS (SQLSERVER) のテーブルを直接アクセスする (SQL INSERT 文などを実行する) こともある範囲で可能なのですが一貫性を担保したデータ投入には、関連テーブル、テーブル仕様などビジネスロジックのすべてを掌握しなければならず、これもまたハードルが高く。

そこでUWSC Proの登場です。ウェブ画面での操作を RecIE で記録。どの DOM Element にアクセスし値を設定するか IE 開発者ツール (F12) を兼用しながら特定します。記録した UWSC スクリプトから関係するものだけを切り出して、登録作業の骨格を作成。動くのを確認できたら値を引数として与えられるように変更し、一括投入のデータを与えて完了。

DOM Element にアクセスしたりクリックするという操作をどのように IE に伝えるか、若干の DOM 操作するための手続きを加えてやりましたが RecIE の生成したスクリプトに少し足してやる程度で形になりました。

大規模データ移行のようなものには別の方式がよいでしょうが、人手でやるにはちょっと面倒なボリュームにはこうした手法はとても有効だと感じました。


2. ソフトウェア製品へのトラフィックデータ注入ツール

総合試験(基本性能測定など)ではトラフィックデータを人工的に発生させシステムに注入させ挙動を調べることがあります。一般的なウェブアプリケーションですので単純なシナリオの部分は Apache JMeter などのソフトウェアを使用して注入出来るのですが、IE 側で動作するあるコンポーネントとサーバシステムとの通信シーケンスが複雑で、そう簡単にはいきそうにない。そんな問題がありました。

そこでUWSC Proの登場です。大量の負荷を与えられなくてもよいから一台のクライアントPCから一定量のトラフィックを定常的に注入できればよい、と目標を見直して IE を n 多重で動作させ、トラフィックの注入を制御するスクリプトをこさえました。IE から document オブジェクトを掴めるので、スクリプトから画面上の DOM Element を UWSC から制御してトラフィックの注入タイミングなどを制御しています。

現在使用している lenovo ThinkPad T440s で 15 多重 (iexeplore.exe が 15 個、UWSC.exe が 1 個、合計 16 プロセス) までいけてます。CPU にボトルネックが来ます。Memory, Disk, Network はボトルネックがきていません。

試験環境の段取りや試験実行は今でも手動の側面があるのですが、スクリプトがある程度自動で代行してくれているので作ってみたらこれはこれで便利だと感じました。


以上、簡単ですが、事例紹介でした。

いりや

No.655 2015/01/01(Thu) 16:54:08
突然のエラー / 裕紀
HTMLStarkNakedを普段使用しているのですが、突然エラーで起動できなくなり
エラー箇所は1161行目が型があってないかオーバーフローである事
それを消して起動すると1148行目が方があっていないかオーバーフローであるとの事
私は1148行目は本当に型があってないとは思えなく大変困惑しています;

No.652 2014/12/30(Tue) 14:57:50

Re: 突然のエラー / Liners
まず、いきなり出て来るHTMLStarkNakedですが、これは名前から眠たい詩人さん作、HTMLStarkNaked.uwsでしょう。
眠たい詩人さんに聞くのが王道です。

それはそれとして、このスクリプトはHTMLかんたん解析として2008/03/15改版されています。
確認済み動作環境は、UWSC Pro V4.41 | WinXP Home Sp2、InternetExplorer 6.0Sp2ですよ。
今の環境で不具合が出るのは、ある意味仕方のないことでしょう。

>1161行目が型があってないかオーバーフロー〜本当に型があってないとは思えなく
こういった一見不可解な症状は型の自動変換かオブジェクト型の場合が多いものです。

調べてみると案の定エラーが出るのはオブジェクト型。型違いですね。
今のUWSCは型の判定が、VARTYPE関数で簡単に出来ます。
1161行目の if chknum(string)=chknum(token("/",(string+"/"))) then result=TRUEを

if VARTYPE(string) = VAR_USTR then result = TRUE // に変更してみてください。

私は作者ではないので、ざっくりですが、とりあえずこの変更で動作するようです。
詳細は、眠たい詩人さんに尋ねてください。

No.653 2014/12/30(Tue) 19:40:33

Re: 突然のエラー / 裕紀
あああ!ありがとうございます(;_;)
そうですね;筋違いですよね;
申し訳ございませんでした 以前まで動いてたのですごく助かっていたのですが突然うごかなくなってあしまったので
びっくりしてこちらに投稿してしまいました申し訳ございませんでした

No.654 2014/12/31(Wed) 05:41:09
全1170件 [ ページ : << 1 ... 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 ... 117 >> ]