[ 掲示板に戻る ]

過去ログ閲覧モード

BetweenStrの返す文字列について / にしの
お世話になります。
下記のようにBetweenStrで文字を切り分けたときは
a2a が2番目だと思っていたのですが取り出せないのでしょうか

w = "a1a2a3a4a5a"
msgbox(BetweenStr(w,"a","a",1)) // 返す文字 1
msgbox(BetweenStr(w,"a","a",2)) // 返す文字 3

No.3151 2016/11/14(Mon) 22:14:50

Re: BetweenStrの返す文字列について / 俄プログラマー
a〜a間を考えれば2番目は3ですね。その次は5
そのデータの並びなら私はSPLITを使います。

w = "a1a2a3a4a5a"

value = SPLIT(w,"a")
for i=1 to 5
print value[i]
next

No.3152 2016/11/14(Mon) 22:40:18

Re: BetweenStrの返す文字列について / miles
// BETWEENSTR関数の 数え方フラグを
// TRUE(n個目は前文字以降でカウント)にして取り出せますよ。

w = "a1a2a3a4a5a"
msgbox(BetweenStr(w,"a","a",2,True))

// ヘルプファイルのBETWEENSTR関数の例)
// 前文字と後文字が同じ時
// を参考にしてください。

No.3153 2016/11/15(Tue) 09:26:47

Re: BetweenStrの返す文字列について / しろまさ
// 第5引数(数え方フラグ)を使います。
msgbox(BetweenStr(w,"a","a",1)) // 返す文字 1
msgbox(BetweenStr(w,"a","a",2)) // 返す文字 3
msgbox(BetweenStr(w,"a","a",1,TRUE)) // 返す文字 1
msgbox(BetweenStr(w,"a","a",2,TRUE)) // 返す文字 2

// 昔数え方は前か後かで一議論あったんですよね。なつかすぃ^^
//(その議論後に第5引数が出来たのだ!)

No.3154 2016/11/15(Tue) 09:28:47

Re: BetweenStrの返す文字列について / 俄プログラマー
そんな経緯があったんですね。
サンプルも、もうすこし分かり易い例がいいなと思いました。

No.3156 2016/11/15(Tue) 12:10:43

Re: BetweenStrの返す文字列について / にしの
俄プログラマーさん
milesさん
しろまささん

ありがとうございます。
ヘルプに書いてあるのに理解できていなかったです、
前文字以降でカウントって?何?と思ったままにしていました。

SPLITで配列に入れるのもFor in で処理できて便利ですね、早速使わせてもらいます。

No.3159 2016/11/15(Tue) 21:39:15

Re: BetweenStrの返す文字列について / 俄プログラマー
データの読み書きの際にSPLITとJOINは大変便利ですよ。
No.3160 2016/11/15(Tue) 22:01:48
Windowsの「登録されている拡張子は表示しない」の設定でUWSCの動作が異なる。 / 256マン
環境 Windows7
UWSC 5.2.3
エクセル 2016

Acrobat Standard DCでファイル結合→PDFをエクセルに変換をするプログラムで
拡張子を表示する場合のUWSCプログラムは

While True //画像出現待ちループ
ID_5 = GetID("バインダー1.xlsx - Excel", "XLMAIN", -1)
TITLE1 = STATUS(ID_5,ST_TITLE) // タイトル
IFB ID_5 >= 0
CLKITEM(ID_5, "上書き保存", CLK_ACC or CLK_LEFTCLK)
CTRLWIN( ID_5 , close) //閉じる
Break
EndIf
WEnd

でうまく動作しますが、拡張子を表示しないに設定すると、UWSCが停止してしまいます。
そこで、下記のようにすると動作します。

While True //画像出現待ちループ
ID_5 = GetID("バインダー1 - Excel", "XLMAIN", -1)
TITLE1 = STATUS(ID_5,ST_TITLE) // タイトル
IFB ID_5 >= 0
CLKITEM(ID_5, "上書き保存", CLK_ACC or CLK_LEFTCLK)
CTRLWIN( ID_5 , close) //閉じる
Break
EndIf
WEnd

UWSCがエクセル2016と相性が悪いのか? やりたいことは
Acrobat Standard DCで自動で開いたエクセルを
上書き保存して、エクセルを閉じる動作をさせられればいいのですが。

よろしくお願い致します。

No.3155 2016/11/15(Tue) 11:48:41

Re: Windowsの「登録されている拡張子は表示しない」の設定でUWSCの動作が異なる。 / stuncloud
要するに拡張子を表示している場合はExcelのウィンドウタイトルにも拡張子が表示されている、というわけなので以下のような方法が考えられます

案1: タイトルが部分一致するように指定し、どちらでも対応できるようにする

ID_5 = GetID("バインダー1", "XLMAIN", -1)

案2: 「登録されている拡張子は表示しない」の状態によって切り替える
これはレジストリから設定を読みます

ws = createoleobj("WScript.Shell")
HideFileExt = ws.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\HideFileExt")

if HideFileExt = 1 then // 「登録されている拡張子は表示しない」が有効
 ID_5 = GetID("バインダー1 - Excel", "XLMAIN", -1)
else
 ID_5 = GetID("バインダー1.xlsx - Excel", "XLMAIN", -1)
endif

案1が楽でいいんじゃないかと思います

No.3157 2016/11/15(Tue) 12:15:52

Re: Windowsの「登録されている拡張子は表示しない」の設定でUWSCの動作が異なる。 / 256マン
案1で、動作できました。ありがとうございました。助かりました。
No.3158 2016/11/15(Tue) 20:20:21
UWSCフリー版の商用利用について / Masahiro Watanabe
お世話になっております。
現在、UWSCを使い、お客様に納品するアプリケーションの繰り返しテストに利用したいと考えております。
フリーバージョンとプロバージョンのそれぞれで、そうした商用利用についての利用条件を教えていただけませんでしょうか?

No.3148 2016/11/14(Mon) 12:29:36

Re: UWSCフリー版の商用利用について / ぼいじゃ
Readmeに書いてありますよ。
No.3149 2016/11/14(Mon) 13:02:00

Re: UWSCフリー版の商用利用について / Masahiro Watanabe
ありがとうございます。Readmeに書いてあることがすべてということで、理解いたしました。
No.3150 2016/11/14(Mon) 16:41:40
タスクトレイに格納したくない / ぼいじゃ
Ver5.2.3で
・メイン画面の 閉じるボタンにて 終了動作だったのを タスクトレイ格納に変更した
とのことですが、格納せずに終了するよう変更する設定はないんでしょうか?
1つ古いバージョンを使うしかないんでしょうか?

No.3136 2016/11/11(Fri) 15:13:52

Re: タスクトレイに格納したくない / 俄プログラマー
タスクトレイに入っているアイコンを右クリック
タスクトレイから出るをクリック

No.3137 2016/11/11(Fri) 20:11:14

Re: タスクトレイに格納したくない / umiumi
UWSC.INI ファイルの [SET] セクションに 以下を追加してください。
CloseBtn = 1

No.3138 2016/11/12(Sat) 01:41:56

Re: タスクトレイに格納したくない / ぼいじゃ
iniファイルに設定追加出来るんですね。
ありがとうございましたm(_ _)m

No.3147 2016/11/14(Mon) 11:05:06
UScrCall:System Error. Code:8. のエラー内容がわかりません。 / マキロン
UWSC利用歴2年の初心者です。
いつも迷った際に、掲示板とてもお世話になっています。


とあるソフトをループでコントロールさせるマクロを実行していたのですが
数日動作させっぱなしだと、以下のようなエラーが発生したのですが
エラーコードの内容がわからず解決方法が調べれずに困っています。

どなたかご存知の方、ご教授いただけませんのでしょうか。


<表示されたエラーメッセージ>
UScrCall:System Error. Code:8.
このコマンドを実行するのに十分な記憶域がありません。

※エラー画像のcap
https://gyazo.com/ca6b01d230c1d66077fdcbd9b8f9cc2a



このエラーの記憶域はどこを指しているのでしょうか?
HDD、メモリーともに領域は空いているのですが、、、



ご存知の方がいらっしゃいましたら、何卒ご教授お願いいたします。

No.3141 2016/11/13(Sun) 20:54:02

Re: UScrCall:System Error. Code:8. のエラー内容がわかりません。 / 俄プログラマー
>このエラーの記憶域はどこを指しているのでしょうか?
>HDD、メモリーともに領域は空いているのですが、、、


確認時は空いていても一時的にでもオーバーするとエラーが出ますよ。
十分な記憶域がありません 原因
などで調べてみてください。
断定は出来ませんが特定のプログラムがメモリ開放していない可能性が高いと思います。

No.3146 2016/11/13(Sun) 23:10:15
EXCELのマクロが実行できない / トランプショック
Windows10 Office2016の環境、UWSC523を使用しています。
Sub aa()
Msgbox "こんにちは"
End Sub
のある aaa.xlsm で
aaa.xlsm は立ち上がるものの、下部のコード(ネットで調べた)で次のようなエラーメッセイジが出るので困惑しています。
どなたか解決方法を教えてください。

🐈エラーメッセイジ
COM_Error:名前が不明です。
6行目:EXCEL/Run "aa"

🐈UWSCコード
path="C:\Users\Owner\Desktop\aaa.xlsm"
EXCEL = CREATEOLEOBJ("Excel.Application")
EXCEL.Visible = True
EXCEL.Workbooks.Open(FileName:=path)
sleep(2)
EXCEL.Run "aa"

No.3139 2016/11/13(Sun) 15:39:20

Re: EXCELのマクロが実行できない / 俄プログラマー
この辺と同じかな?
http://q.hatena.ne.jp/1466775022

No.3140 2016/11/13(Sun) 19:34:07

Re: EXCELのマクロが実行できない / トランプショック
 ご指摘の通りコードはほぼ一緒です。

今回の問い合わせは、このコードで前記エラーが出てしまうので、解決方法を教えて頂きたいというものです。

No.3142 2016/11/13(Sun) 21:22:45

Re: EXCELのマクロが実行できない / Nagatani
EXCEL.Run("aa")ではだめでしょうか?
No.3143 2016/11/13(Sun) 21:42:56

Re: EXCELのマクロが実行できない / トランプショック
 Nagatani さん、有難う御座いました。

 色々品を変えても、エラーが出ていたのに、理由は分かりませんがエラー退治できました。
助かりました。

 感謝します。

No.3144 2016/11/13(Sun) 22:15:00

Re: EXCELのマクロが実行できない / 俄プログラマー
解決方法が書いてあるので貼ったんですけどね。よく読んで頂けなかったようで。
No.3145 2016/11/13(Sun) 22:54:45
マウスカーソルの下ではなく、TAB等で移動したカーソル下の文字の取得 / AMG
お手数かけますが、何か方法はありますでしょうか?

スクロールバーの付いている画面があって、目的の枠に移動するには、マウスでスクロールさせる必要があるのですが、件数などによって、スクロールさせる距離が変わってきて目的の位置にうまく合わせられません。TABキーで回数などを記憶したり、回数分のTAB操作で目的の枠には簡単に移動できますので、TAB等で移動した先のカーソル位置の枠内の文字の取得を実現するには、どうしたら?よいでしょうか?よろしくお願いいたします。

No.3133 2016/11/07(Mon) 19:50:22

Re: マウスカーソルの下ではなく、TAB等で移動したカーソル下の文字の取得 / stuncloud
できないことはないと思いますが、操作対象アプリケーションによって最適解が異なるんじゃないかと思います
Webページの話だったらIEを使えば簡単にできるんじゃないかな?
そうじゃない場合は頑張ればできる可能性があります、何を頑張るかはそのアプリケーション次第なんですが

とりあえず思いついたのは、選択箇所がコピーできる可能性に賭けて以下を実行する

sckey(id, VK_CTRL, VK_C)
print getstr(0)

Ctrl-Cでコピーしてその内容をクリップボードからgetstr(0)で得るというやり方

No.3134 2016/11/08(Tue) 10:20:39

Re: マウスカーソルの下ではなく、TAB等で移動したカーソル下の文字の取得 / AMG
そうですか。もう少し考えてみます。ありがとうございました。
No.3135 2016/11/10(Thu) 20:18:41
CHKIMGの異常検出について / koi
サンプル画像(一週間有効)
http://fast-uploader.com/file/7034041443728/
パスワード  uwsc

テストスクリプト
WHILE TRUE
PRINT GETTIME() _
+ " " + CHKIMG(GET_CUR_DIR + "\Lv75.bmp") _
+ " " + CHKIMG(GET_CUR_DIR + "\Lv75.bmp",1) _
+ " " + CHKIMG(GET_CUR_DIR + "\Lv75.bmp",1,,,,,-1) _
+ " " + CHKIMG(GET_CUR_DIR + "\Lv75.bmp",1,,,,,-1,IMG_MSK_BGR1)
WEND

環境 Win10 64ビット バージョン 1607
   uwsc Ver5.2.3
   使用プログラム  Gimp2(以下Gimp)

上記環境にてサンプル画像をGimpで開き
表示の拡大率を上げていくと1000%を超えたところから
異常な検出が始まります
  拡大率上げると1個2個見つかるとか言ったレベルではなく
   300個以上の検出が行われます

ちなみにWin標準のペイントでは800%までしか
拡大できないため?現象が発生しません
(その他のツールでは未確認)

固有の問題・バグ を含め原因がわからず困っています

No.3128 2016/11/07(Mon) 11:48:33

Re: CHKIMGの異常検出について / しゅん
異常ではないと思います。

画像は、40*14ですね。
ただ、外周1ピクセルは黒なので、実質38*12です。
黒とオレンジの二値かと思います。

第二引数で、1:左上を指定しているため、黒部分は無視されます。
無視なので、、、オレンジでも良い、ということです。
すなわち単純に言って、38*12のオレンジのバーがあるとヒットします。
39*12のオレンジのバーがあると、バーの始点と1ピクセルずれの二点でヒットするのです。

Lや7や5は横長な部分があります。
1200%拡大になると、1ピクセルが12*12になるかと思います。
横に何ピクセルか並ぶと、、、おわかりかと思います。


やりがちな誤りかと思います。
ただ、バグとか異常とか言う単語は感じが悪いのでなるべく使用を避け、とことん自分を疑ってから使うと良いと思います。
(「300以上検出してしまうのですが、何が悪いか教えてください」とかが良かったですね。)

#私も一度、白い文字を背景色無視でCHKIMGして、ブラウザー起動してたら大量に検出しました。
#で、(x座標,y座標)にこの文字ない!どこだよ。スクリーンショットとって拡大、ここ、、、
#白いよ、、、、、、そうだよ、あったよ、、、私が間違ってたよ、ってやりました!
#背景色無視には注意が必要です。

No.3129 2016/11/07(Mon) 17:58:44

Re: CHKIMGの異常検出について / koi
しゅん様

始め理解できなかったのですがちょっと考えていたら
書かれている説明で納得しました

元画像自体も小さいため
確かに拡大していくとL/7/5 等の横線部分で検出することになりますね
そこまで気が回りませんでした

ありがとうございました

No.3132 2016/11/07(Mon) 18:57:21
INPUTで指定して画像を探す / カエル6号
お世話になります。
INPUTに画像の名前を入力してその画像を探そうとしたんですがうまくいきません。
例えば 山 という画像を探すとき以下のコードだと"山".bmpになってしまいます。

DIM A = INPUT("画像選択")
DIM B = "<#DBL>" + A + "<#DBL>"
IF CHKIMG(B,0) THEN print "OK"

解決方法がありましたらよろしくお願いします。

No.3126 2016/11/05(Sat) 12:50:44

Re: INPUTで指定して画像を探す / カエル6号
自己解決しました
No.3127 2016/11/05(Sat) 13:30:26
Dosコマンドでスペースを含むファイルを処理したい / リキュール
ファイル1、ファイル2は変数です。
ファイル1には「○○ ○○○.txt」のようにスペースがあり、ファイル2には「○○○○○.txt」のようにスペースを削除したものです。
通常、スペースを含む場合は<#DBL>を使用すれば良いようなのですが、ファイル名が変数の場合、どうすればよいのでしょうか。

DosCmd("Ren " + ファイル1 + " " + ファイル2)

No.3122 2016/11/04(Fri) 21:19:21

Re: Dosコマンドでスペースを含むファイルを処理したい / 俄プログラマー
<#DBL>も文字列と考えたときの文字列の結合と同じで、こんな感じです。
(今回質問の通りとしてファイル2のスペース含みは考慮せず)

DosCmd("Ren " + "<#DBL>" + ファイル1 + "<#DBL> " + ファイル2)

No.3124 2016/11/05(Sat) 11:03:02

Re: Dosコマンドでスペースを含むファイルを処理したい / リキュール
俄プログラマー さん、お世話になります。
思いどおりの処理が出来ました。
<#DBL>を使用すればよいことは分かっていましたが、具体的な使用例が分かりませんでした。
ありがとうございました。

No.3125 2016/11/05(Sat) 11:20:29
全832件 [ ページ : << 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ... 84 >> ]