[ 掲示板に戻る ]

過去ログ閲覧モード

uwscのボタン位置の初期化 / にゃんこ
uwscのボタンが表示されなくなりました。
ディスプレイ表示領域外に飛んでしまったのだと思います。
こういうときにuwscのボタン位置を0.0座標に戻すにはどうすればいいでしょうか?

No.4760 2017/12/01(Fri) 15:55:11

Re: uwscのボタン位置の初期化 / にゃんこ
PCを再起動したら出てきましたので質問を取り下げます。
お騒がせしました。

No.4761 2017/12/01(Fri) 16:49:57
Uws2Exe.exe バージョン指定時2桁を指定すると他が記載されない / たけ
Uws2Exe.exeを利用し、バージョン情報を付与しているのですが、
1.1.0.9→1.1.0.10に変更したところ、
EXEのプロパティ(詳細)を確認すると、
ファイルバージョンは1.1.0.10と表示されるのですが、
その他のファイルの説明、製品名、著作権が表示されなくなってしまいました。

バグではないでしょうか?

No.4713 2017/11/16(Thu) 18:30:46

Re: Uws2Exe.exe バージョン指定時2桁を指定すると他が記載されない / umiumi
確認しました。
対処します。

No.4719 2017/11/17(Fri) 23:34:50

Re: Uws2Exe.exe バージョン指定時2桁を指定すると他が記載されない / mogutan
ついでに、ファイルの説明等に"%"を記述しても表示されない件もお願いします。
No.4728 2017/11/21(Tue) 20:04:52

Re: Uws2Exe.exe バージョン指定時2桁を指定すると他が記載されない / たけ
>umiumi様
ご確認頂き、誠に有難うございます。
ちなみに、次のリリース時期は決まっておりますでしょうか?

No.4757 2017/11/29(Wed) 09:36:29

Re: Uws2Exe.exe バージョン指定時2桁を指定すると他が記載されない / umiumi
年内には更新したいとは思っています。
No.4759 2017/11/30(Thu) 21:34:11
EXCELのCellsの使い方について / 藍
いつもお世話になります。
---------
EXCEL = CreateOLEObj("Excel.Application")
o_WB = EXCEL.WorkBooks.Add
EXCEL.Visible = TRUE // 可視状態にする。
y=1
Excel.ActiveCell.cells(y,1).value = "A列" // A1にセット
Excel.ActiveCell.cells(y,2).value = "B列" // B1にセット
y=y+1
Excel.ActiveCell.cells(y,1).select // A2移動
for i=1 to 5
Excel.ActiveCell.cells(y,1).value = i // A2〜 A6 セット
Excel.ActiveCell.cells(y,2).value = i*10  // B2〜 B6 セット
y=y+1
next
----------------------
A2〜A6、B2〜B6 に値を表示したいのですがA3〜、B3〜表示されてしまいます。
使い方が間違っているのでしょうか?
ご教授願います。
よろしくお願いします。

No.4754 2017/11/28(Tue) 16:03:02

Re: EXCELのCellsの使い方について / リキュール
以下の行は必要ですか?
Excel.ActiveCell.cells(y,1).select // A2移動

No.4755 2017/11/28(Tue) 17:42:50

Re: EXCELのCellsの使い方について / しゅん
ActiveCell指定だと、ActiveCellからの相対座標なんですね。
リキュールさんの指摘通り、その行を削除すると期待動作になりますね。

ただ、個人的には、Active***は不安定(うっかりマウスクリックするとかで変わる)なので、使わないほうが好みですね。

「Excel.ActiveCell」を「o_WB.Sheets(1)」とか。
いずれにしても、UWSCというよりVBAのお話ですので、Excel VBAの質問ができるところで聞いた方が、良い回答が得られる気がします。

No.4756 2017/11/28(Tue) 19:13:18

Re: EXCELのCellsの使い方について / 藍
相対座標とは知りませんでした。
ありがとうございます。

No.4758 2017/11/29(Wed) 10:50:07
win10では、矢印キー使用できない? / yanyan
今更の質問かもしれませんが、Win10では、矢印キーが未だに、記録や、実行(KBD,SCKEYで)ができないのですが、バージョンアップの予定もしくは、解決する方法があったのでしょうか?
そろそろWIn7からWin10に移行したいのですが、障害となっております。よろしくお願いします。

環境
Win7 pro *64 → Win10 pro *64
UWSC pro 5.3.0.2 (VK_UP,VK_DOWN,VK_LEFT,VK_RIGHT)

No.4740 2017/11/25(Sat) 19:56:17

Re: win10では、矢印キー使用できない? / yanyan
自己解決しました。

UWSCをwin7互換、管理者権限で起動することで解決しました。他の方の参考用に。
お騒がせしました。Win10に全面移行できます。またFAQにも必要かと思います。

No.4742 2017/11/26(Sun) 15:48:26

Re: win10では、矢印キー使用できない? / しゅん
手元の端末では、問題なく動作します。
Win10 pro x64
UWSC 5.3.0.2 (VK_UP,VK_DOWN,VK_KEFT,VK_RIGHT)(ちょっとproを入れたくない環境)
互換性のチェックも入れてませんし、管理者権限も渡していません。

管理者権限で起動したアプリに対する記録だったりしませんか?
記録できないのは、何か他に条件があると思います。

No.4744 2017/11/27(Mon) 09:59:13

Re: win10では、矢印キー使用できない? / yanyan
Win10/uwscは新規にインストールした直後です。対象アプリに対しては、何も行っていません。
今回対象のアプリは、2つあり、以前からの現象ではあったが、他のアプリの動作問題で、Win10への移行を保留していたものです。
1.左クリックや右クリックメニューに対し(ショートカットキーが設定されていない)効かないもの
2.すべてのアプリではないが、Flash画面の入力項目の移動が効かないもの
ですが、どちらも上記方法で解決しています。

No.4746 2017/11/27(Mon) 13:43:36
使用できなくなった / たこ
Windows10のアップデート後、記録できなくなりました
バージョンアップはありますでしょうか

No.4741 2017/11/26(Sun) 09:24:18

Re: 使用できなくなった / しゅん
以前、Win8->Win10 pro x86で問題なく使えてました。
最近はどうか知りませんが、何をして何ができなくなったのか、もう少し詳しく書かないと、回答はつかないと思いますよ。

一旦アンインストールして、再度インストールしてはどうでしょうか?
また、FAQは全て読みましたでしょうか?
http://www.uwsc.info/faq.html

No.4745 2017/11/27(Mon) 10:05:30
File: Out Of memory エラーの回避方法 / Outliner
お世話になります。

ログファイルの整形を行おうと思っていますが、「File: Out Of memory」のエラーが発生します。
ログファイル: 1ファイル 80〜700MB(テキストファイル)
ファイル数 : 30〜60

 80MBほどのログファイルであれば処理できますが、100MB以上のものになるとfopenのところでエラーとなります。
 処理としては、1行ごとに余計なデータがあるのでその部分を無くす処理です。

 ログファイルのサイズに関係なく処理できるようにする方法はありますでしょうか。

 一応、PowerShellで下記のようにして読み出すこともやってみましたが、1行の読み出しに1秒近くかかります。(500MBほどのファイルの場合)
 POWERSHELL( "Get-Content -Path <#DBL>"+FILE+"<#DBL> -TotalCount "+x )

 お知恵をお借りできればありがたいです。
 よろしくお願いいたします

//以下スクリプト
 FILE = "c:hogehoge.txt"

 ifb fopen(FILE,F_EXISTS) = TRUE
  idf = fopen(FILE,F_READ) //元のログファイル
   LC = fget( idf, F_LINECOUNT)

   Outlog = ""
   for x=1 to LC
    wks = fget( idf, x)
    //変換処理ロジック
     Outlog = Outlog + BetweenStr( wks, "]: " ) + "<#CR>" //前文字のみ(前も時以降から最後まで)
    //変換処理ロジック

   next
  fclose(idf) //元のログファイル

  FILEo = FILE + ".log"
  idfo = fopen(FILEo,F_READ or F_WRITE or F_NOCR) //書き出し用ファイル
   fput( idfo, Outlog, F_ALLTEXT ) //書き出し
  fclose(idfo) //書き出し用ファイル
 endif

No.4734 2017/11/22(Wed) 16:22:06

Re: File: Out Of memory エラーの回避方法 / しゅん
// POWERSHELL関数は起動に時間がかかりますから、やるなら全ての処理を投げましょう
POWERSHELL( "Get-Content -Path <#DBL>"+FILE+"<#DBL> | Where-Object { $_ -match ']:' } | Select-Object { $_ -replace '.*]:', '' } | Out-File <#DBL>"+FILE+".log<#DBL>" )

No.4737 2017/11/24(Fri) 12:26:12

Re: File: Out Of memory エラーの回避方法 / しろまさ
FileSystemObjectを使う手もありますよ。

http://siromasa.html.xdomain.jp/uwsc/u_term/32_SyorinoKousokuka.html
テキスト処理   ?A メモリ限界を超える巨大CSVを扱う際の注意点。(Presented by しき)

No.4738 2017/11/24(Fri) 20:27:55

Re: File: Out Of memory エラーの回避方法 / Outliner
しゅんさん
お返事ありがとうございます。
サンプルを参考に試してみました。
約80MBで41分でした。

自分なりに、POWERSHELLで
//ログファイル分割
POWERSHELL( "$i=0; cat <#DBL>"+FILE+"<#DBL> -ReadCount 50000 | % { $_ | out-file -Encoding UTF8 <#DBL>"+GET_CUR_DIR+"\Split\sp$i.txt<#DBL>;$i++ }" )

分割したファイルをfopenで読み込んで処理

//結合処理
POWERSHELL( "cat <#DBL>"+GET_CUR_DIR+"\Split\*.txt<#DBL> | out-file -Encoding UTF8 <#DBL>"+OUT_FILE+"<#DBL>" )

としてみたところ、07分30秒でした。
分割と結合のPOWERSHELL部分で4分ぐらいかかっています。
ハイスペックのマシンで行っても、POWERSHELLの処理時間はあまり変わりませんでした。

しろまささん
ありがとうございます。
FileSystemObjectで下記のようにしたところ、約80MBのファイルで02分32秒まで短縮できました。

//オブジェクト作成
o_Fs = CreateOleObj("Scripting.FileSystemObject")

//元のログファイル
ForReading = 1 //ファイルを読み取り専用として開く。
f = o_Fs.OpenTextFile(FILE, ForReading, false)

//出力ファイル
OUT_FILE = FILE+".log"
ForWriting = 2 //ファイルを書き込み専用として開きます
ofw = o_Fs.OpenTextFile(OUT_FILE, ForWriting, true)

While f.AtEndOfStream <> True //最終行まで繰り返し
wks = f.ReadLine //読み込み

//変換処理ロジック
wks = BetweenStr( wks, "]: " ) //前文字のみ(前文字以降から最後まで)
//変換処理ロジック

ofw.WriteLine(wks) //一行書込み
Wend

ofw.Close()
f.Close()
//

POWERSHELLもFileSystemObjectも今回はじめてだったので、大変参考になりました。
ありがとうございます。

No.4739 2017/11/25(Sat) 02:37:25

Re: File: Out Of memory エラーの回避方法 / しゅん
やはり、Get-Contentは遅いか、、、。
.netのオブジェクトを使うと、多分FileSystemObjectを使うより早い、、、と思いますよ!
面倒だったので、そこまではしませんでしたが。
他には、
・拙作Asmモジュールでアセンブリ実行
・DEF_DLLでWin32API呼び出し
あたりが巨大ファイルでは早くできますが、、、ロジックによっては遅くなりますし、いろいろと面倒ではあります。

No.4743 2017/11/27(Mon) 09:13:28
GETITEM関数で各項目のHWNDを取得したい / へっぽこ
GETITEM関数では取得した情報がALL_ITEM_LISTに設定されますが、これとは別に各項目のHWNDも取得出来るようにならないでしょうか?
1画面の項目が多すぎるとGETITEMやSENDSTRの処理が遅くなってしまい、複数項目に設定するだけでかなりの時間を要してしまいます。
HWNDが取得できていればSendMessage関数で直接設定出来るのでかなりの高速化が図れると思われます。

ご一考いただければ幸いです。

No.4736 2017/11/23(Thu) 22:51:55
リストボックスをクリックした後のデータ取得したい / たろこ
お世話になります。
リストボックスをクリックした後のデータを取得しようと思っております。
しかし、行うにあたり困っていることがあります。
ALL_ITEM_LIST[i]で取得できたデータは重複する可能性があり
色んな箇所に配置されてます。










中を開いてみないと、同じかどうか詳細が分かりません。
そのため、名前完全一致で開くようにしましたが
「あ」の場合は一番上しか見に行きません。
やりたいことは、リストビューの上から順に全てクリックして開き
そのデータを抽出したいです。
どのようにプログラムを変えたら良いでしょうか?

id=GETID("最初の画面","#32770",-1)
LISTDATA=GETITEM(id,ITM_LSTVEW)
For i=0 to LISTDATA
NOWROW=i+1
id=GETID("リスト表示画面","#32770",-1)
CLKITEM(id,ALL_ITEM_LIST[i],CLK_LEFTCLK)
CLKITEM(id,"リスト詳細表示",CLKBTN)
With Workbook.Activesheet
.range("A" & NOWROW) =GETSTR(id,1,STR_ACC_EDIT)'ここはExcelに書き込んでます。正常に動いている為省略
End with
CLKITEM(id,"OK",CLK_BTN)
Next

以上、よろしくお願いいたします。

No.4733 2017/11/22(Wed) 11:35:12

Re: リストボックスをクリックした後のデータ取得したい / routa
HASHTBLでカウントする方法です。

HASHTBL ht
For x in GETITEM(id, ITM_LSTVEW)
 ht[x] = ht[x] + 1
 CLKITEM(id, x, CLK_LISTVIEW, True, ht[x])

No.4735 2017/11/23(Thu) 17:18:18
pro版IE操作、Twitterにて実際のキー入力がないと有効にならないボタン / MYU
初めてこちらに書き込みします。
ある集計したデータを数時間毎にIE操作でツイートし、出先などからTwitterで確認するという利用法をしています。
ですが最近のTwitterのアップデートで文字数制限の仕様が変わった影響か、ツイートのフォームにIESetDataでデータを入力しただけでは"ツイート"のボタンが有効にならず、実際のキーボード入力があった時にだけボタンが押せるようになっています。
KBD関数で適当なキーを1つでも入力すれば有効になりますが普段のPC作業時にも動かしているので、バックグラウンドで動くスクリプトにしておきたいです。
IE操作でなくても構わないのですが、Twitterを利用する点は変えたくありません。
なにかいい案はないでしょうか?

以下は以前まで動作していたスクリプトのIE操作でツイートの部分です。(共通のprocedureなどは省略)

IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
setOleEvent()
IE.Navigate("https://twitter.com/intent/tweet")
BusyWait()
IESetData(IE,"ツイートする内容","status") // TEXTAREA
IESetData(IE,True,"","ツイート") // SUBMIT//TEXTAREAにキー入力がないとここが押せない
BusyWait()

No.4714 2017/11/17(Fri) 11:45:33

Re: pro版IE操作、Twitterにて実際のキー入力がないと有効にならないボタン / MYU
補足ですが https://twitter.com/intent/tweet を開いて試して頂ければ、フォームにキー入力した時点でボタンが有効になるのがわかると思います。
No.4715 2017/11/17(Fri) 12:06:06

Re: pro版IE操作、Twitterにて実際のキー入力がないと有効にならないボタン / stuncloud
つまりキー入力があればいいので、キー入力をします
> IESetData(IE,"ツイートする内容","status")
の直後で以下を実行 (※ IEがアクティブであるとします)

sckey(hndtoid(IE.hwnd), VK_SPACE, VK_BACK)
// 適当に一文字打ってバックスペースで消す

No.4716 2017/11/17(Fri) 12:22:45

Re: pro版IE操作、Twitterにて実際のキー入力がないと有効にならないボタン / MYU
stuncloudさん早速ありがとうございます。
ご教示の方法でツイートのボタンが有効になりました!

欲を言えばバックグラウンドのまま方法があればいいんですが、やはり無理でしょうか。。

No.4717 2017/11/17(Fri) 12:36:24

Re: pro版IE操作、Twitterにて実際のキー入力がないと有効にならないボタン / satocha
>欲を言えばバックグラウンドのまま方法があれば

IESetData(IE,True,"","ツイート") // SUBMIT//TEXTAREAにキー入力がないとここが押せない
の行の直前に次の2行を入れたらどうでしょう。

js="javascript:(function(){var ip=document.getElementsByTagName('input');for(var i=0,len=ip.length;i<len;i++){if(ip[i].type.match(/submit/i)){break}};ip[i].removeAttribute('disabled')})()"
IE.Navigate(js)

No.4721 2017/11/20(Mon) 13:56:29

Re: pro版IE操作、Twitterにて実際のキー入力がないと有効にならないボタン / Y.Sum
>satochaさん
横から失礼します。いつも他の方の質問と回答内容を参考にさせて頂いてます。
>js="javascript:(function(){var ip=document.getElementsByTagName('input');for(var i=0,len=ip.length;i<len;i++){if(ip[i].type.match(/submit/i)){break}};ip[i].removeAttribute('disabled')})()"
>IE.Navigate(js)

こちら大変参考になりました。
こういった記述は、皆さんどのように考えて作られるのでしょうか?
HTMLソースコードを見ても読み取れず・・・
今回のようなjavascriptで作成され、キー入力のアクションでWeb画面が更新される
Webページはたまに見かけるのですが、その度に力技で対処しておりました。(画像認識等)

もし、参考になる情報があれば幸いです。

No.4723 2017/11/21(Tue) 08:42:40

Re: pro版IE操作、Twitterにて実際のキー入力がないと有効にならないボタン / satocha
 Y.Sumさん
お役に立てたようで何よりです。
このスレッドでやり取りするのも何か変なような気がしてためらっていましたが、他にスレッドを立てるほうが余計おかしいと思い、書き込むことにしました。

>HTMLソースコードを見ても読み取れず・・・

私もツイッターのソースを見てみました。すると、それほど複雑でないHTMLソースにはちゃんとsubmitボタンのタグが記述されています。でも、実際には押せないようになっているので、ページのロード時になにかしているのだろうと思い、submitボタンの実行時のソースを表示してみました。具体的には、先にあげたJSソースのremoveAttributeのところをalert文にしたコードです。

すると、view-sourceでは存在していなかった「disabled=''」の記述が表示されました。属性を除去したところ、うまくいったので投稿したわけです。

ただ、あとで思うとUWSC的な解決策ではないような気がします。
試していませんが、getallwin()でバックグラウンドで動くIEのウインドウIDを取得し、mouseorgとkbdでキー入力を送り込むほうがUWSCらしい気がします。

No.4730 2017/11/22(Wed) 06:25:17

Re: pro版IE操作、Twitterにて実際のキー入力がないと有効にならないボタン / Y.Sum
>satochaさん
確かにUWSCらしさ、は損なわれている気がしますね。
いつも思いますが、自動化の動作安定性と開発難易度はいつも
トレードオフにあるような気がしており、丁度良いポイントを見つけて、
柔軟に解を求める習慣が必要だと感じています。

しかしながら折角お教え頂いたので、解読してみたいと思います。
ありがとうございました。

No.4731 2017/11/22(Wed) 09:22:24

Re: pro版IE操作、Twitterにて実際のキー入力がないと有効にならないボタン / MYU
satochaさん
ie操作でjavascriptを実行できるものなんですね。大変参考になりました。
もう少し勉強してみようと思います。ありがとうございました。

No.4732 2017/11/22(Wed) 09:43:45
現在の開いているフォルダ内に新規uwsファイルを作成したい / sen
いつも、右クリックから新規txtファイルを作ってから拡張子を変えて作っています。
下記のようなのを見つけて、やってみたりもしているのですが、私としては、
ランチメニューに入れて、作成できると良いと思っています。

BTN(RIGHT, CLICK)
KBD(VK_UP, CLICK)
KBD(VK_UP, CLICK)
KBD(VK_RIGHT, CLICK)
KBD(VK_UP, CLICK)
KBD(VK_UP, CLICK)
KBD(VK_UP, CLICK)
KBD(VK_ENTER, CLICK)

そこで、下記の様なのを作成したのですが、こうすると、uwsのファイルの所に作成されてしまいます。
そういうのも良いのですが、仮に作成する時は、dropbox内に分かり易い名前のフォルダを作成して、
実験しながら、完成したものを、uwsファイルの保存場所に移動させています。

コマンド = "echo //>"+GET_CUR_DIR+"\new.UWS"
DOSCMD(コマンド,FALSE,TRUE)

デスクトップに開いている一番表のフォルダ内に新規uwsファイルを作成できませんでしょうか?

宜しくご教授頂けますようお願い申し上げます。

No.4722 2017/11/21(Tue) 00:07:21

Re: 現在の開いているフォルダ内に新規uwsファイルを作成したい / stuncloud
UWSCを「管理者として実行」して、以下のスクリプトを実行してください

with createoleobj("WScript.Shell")
 .RegWrite("HKCR\.uws\", "UWSC")
 .RegWrite("HKCR\.uws\ShellNew\NullFile", "", "REG_SZ")
 .RegWrite("HKCR\UWSC\", "UWSC File")
endwith

一旦Windowsからログオフ(サインアウト)してください
ログオン(サインイン)しなおしてから、Explorerで任意のフォルダを開き右クリックすると「UWSC File」が表示されます
それをクリックすれば「新規 UWSC File.uws」がそのフォルダに作成されます

No.4726 2017/11/21(Tue) 15:23:29

Re: 現在の開いているフォルダ内に新規uwsファイルを作成したい / sen
凄い。
想像していたものが見事に完成しています。
残念ながら、1行も分からないのが悲しいですが、じっくり勉強したいと思います。
uwscで、こんな事も出来るんですね。

ありがとうございます。

No.4729 2017/11/21(Tue) 23:49:54
全1170件 [ ページ : << 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ... 117 >> ]