[ 掲示板に戻る ]

過去ログ閲覧モード

ブラウザ上のプルダウン選択処理 / たこ焼き焼いた
使い始めて数日の初心者です。

プルダウン選択で、選べた場合「進む」、既に選らんであるときは、
「キャンセル」ボタンがを押すように制御したいと考えています。

ご教示のほど、よろしくお願います。

No.4548 2017/10/17(Tue) 01:44:02

Re: ブラウザ上のプルダウン選択処理 / stuncloud
流れとしては以下のようになります
二度の条件分岐が必要となりますので、ifb文を入れ子にしています

ifb 選択済み() = 選択したいもの then // (1)
 キャンセルを押す()
else
 ifb 選択したいものを選択できた() then // (2)
  進むを押す()
 endif
endif

(1)はプルダウンメニューの内容を確認し、それが実際に選択したいものと一致しているかどうかを判定する処理です
(2)はプルダウンから希望のものを選択する処理を行いつつ、実際に選択できたかどうかを結果として返す処理です
選択できていた場合のみ進むを押します

必要な実装は
・プルダウンメニューで現在選択されている値を取得する処理
・プルダウンメニューから任意の値を選択する処理
・プルダウンメニューに選択したい値があるかどうか確認する処理
・進むやキャンセルのボタンを押す処理
となります

No.4549 2017/10/17(Tue) 09:57:59

Re: ブラウザ上のプルダウン選択処理 / たこ焼き焼いた
過去ログも見ながら完成させてみます。
ありがとうございました!

No.4558 2017/10/18(Wed) 20:00:50
RecIE にて / はっとり
RecIEの中間のバーが下に下がらず
画面表示領域がすごく狭いのですが

これ下がらない仕様でしょうか

No.4540 2017/10/12(Thu) 14:14:56

Re: RecIE にて / umiumi
RecIEを初期化してください。(RecIEを終了した状態で、recie.ini を削除)
http://www3.rocketbbs.com/13/bbs.cgi?id=umiumi&mode=pickup&no=457

No.4541 2017/10/15(Sun) 12:28:32

Re: RecIE にて / はっとり
ありがとうございました〜

今後は、過去ログ見てから質問するようにします

No.4547 2017/10/16(Mon) 12:32:21
任意フォルダに新規テキストファイル作成について / みつ
いつもお世話になっております。

任意フォルダに新規テキストファイルを作成したいのですがうまく動いてくれません。

どこがいけないのでしょうか。

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


Dirname=input("ディレクトリ場所の選択")
file = "完了"
wsh = CreateOLEObj("WScript.Shell")
fileLog = pathfile(WSH,TRUE) + file + ".txt"
fid = FOPEN(fileLog,F_WRITE)
FCLOSE(fid)

//---関数部分(fileフルパス取得)
function pathfile(wsh,flgY)
result=wsh.SpecialFolders("Dirname")
if flgY then result=result+"\"
fend

No.4537 2017/10/11(Wed) 19:46:50

Re: 任意フォルダに新規テキストファイル作成について / satocha
pathfile(wsh,flgY)関数の中で

result=wsh.SpecialFolders("Dirname")

としていますが、dirnameを引用符で囲っているため、これでは「Dirname」という名前の特殊フォルダを返すことになります。Windowsシステムにそういう特殊フォルダは存在しないので、空文字が返ります。

input文で読み込んだ特殊フォルダを使いたいなら、Dirnameの引用符を外してください。

※気になるのは、特殊フォルダをinputで入力しようとしている点ですが、inputダイアログに入力して受け入れられる値は次のものだけです。これが本当にやりたいことでしょうか?
AllUsersDesktop AllUsersPrograms AllUsersStartMenu AllUsersStartup
Desktop Favorites Fonts MyDocuments NetHood PrintHood Programs
Recent SendTo StartMenu Startup Templates

もしこれをやりたいのでしたら、入力できる値は最初から決まっているのでinput文ではなくslctboxを使うほうがベターです。具体的には、
Dirname=input(…
に代えて
Dirname=slctbox( slct_btn, 0, split( specials, "," ) )
textblock specials
AllUsersDesktop,AllUsersPrograms,AllUsersStartMenu,AllUsersStartup,Desktop,Favorites,Fonts,MyDocuments,NetHood,PrintHood,Programs,Recent,SendTo,StartMenu,Startup,Templates
endtextblock

No.4538 2017/10/12(Thu) 07:21:37

Re: 任意フォルダに新規テキストファイル作成について / stuncloud
// 任意のフォルダを選択してパスを返す、という機能が欲しいのであればこれで

path = GetDirectoryPath()
msgbox(path)

function GetDirectoryPath()
 const BIF_EDITBOX = $10
 const BIF_NEWDIALOGSTYLE = $80
 const ssfDRIVES = $11
 opt = BIF_EDITBOX or BIF_NEWDIALOGSTYLE
 with createoleobj("Shell.Application")
  folder = .BrowseForFolder(0, "フォルダを選択", opt, ssfDRIVES)
  if folder <> NOTHING then
   result = folder.Self.Path
  else
   result = EMPTY
  endif
 endwith
fend

// ssfDRIVESを0にすればもっといろいろ選択対象になります

No.4539 2017/10/12(Thu) 12:07:35

Re: 任意フォルダに新規テキストファイル作成について / みつ
ご連絡が遅くなりました。
satochaさん、stuncloudさんありがとうございます。
こんなフォルダの作成方法もあるんだと驚きました。

しかし、やりたいことは自分の選んだフォルダに、好きな名前の新規テキストファイルを作成することです。
dirnameの引用符を取ってもできませんでした。

No.4543 2017/10/15(Sun) 15:34:34

Re: 任意フォルダに新規テキストファイル作成について / satocha
フォルダでなくファイルを指定したかったのですね。

msgbox(powershell(saveDialog_ps1))
textblock saveDialog_ps1
[void][reflection.assembly]::LoadWithPartialName("System.Windows.Forms")
$SaveFileDialog = New-Object System.Windows.Forms.SaveFileDialog
$SaveFileDialog.showhelp=$true
$SaveFileDialog.Filter="テキストファイル (*.txt)|*.txt|すべてのファイル|*.*"
$SaveFileDialog.ShowDialog()|out-null
$SaveFileDialog.FileName
endtextblock

No.4544 2017/10/15(Sun) 17:21:18

Re: 任意フォルダに新規テキストファイル作成について / しろまさ
しばらく眺めていて要望と返答がかみ合っていない気がするのであえて確認しますが、

> 任意フォルダに新規テキストファイルを作成したい
という要望を単純に考えると
  Dirname=input("ディレクトリ場所の選択")
  file = "完了"
  fileLog = Dirname + "\" + file + ".txt"
  fid = FOPEN(fileLog,F_WRITE)
  FCLOSE(fid)
だけで良いのですが、

今回みつさんが wsh.SpecialFolders を使おうとした目的は何ですか?

No.4545 2017/10/16(Mon) 09:35:28

Re: 任意フォルダに新規テキストファイル作成について / stuncloud
// 空気を読まずに投下するぞ!PowerShell使わない版

path = GetSaveFilePath("%userprofile%\documents") // 引数で最初に開くフォルダを指定できる、環境変数もOK
if path <> EMPTY then
 fid = fopen(path, F_WRITE)
 fclose(fid)
endif

function GetSaveFilePath(dir = ".", parent = -1)
 def_dll GetSaveFileNameA({long, long, long, var string, var string, long, long, var string, long, var string, long, var string, var string, long, long, long, var string, long, long, var string}):Bool:COMDLG32
 def_dll SetCurrentDirectoryA(string):bool:kernel32
 const OFN_EXPLORER = $80000
 CurrentDirectory = GET_CUR_DIR

 hParent = idtohnd(parent)
 filter = "テキストファイル (*.txt)" + chr(0) + "*.txt" + chr(0) + "全てのファイル(*.*)" + chr(0) + "*.*"
 result = format(CHR(0), 260)

 if GetSaveFileNameA(76, hParent, 0, filter, null, 0, 0, result, Lengthb(result), null, 0, dir, NULL, OFN_EXPLORER, 0, 0, NULL, 0, 0, NULL) then
  SetCurrentDirectoryA(CurrentDirectory)
 else
  result = EMPTY
 endif
fend

> dirnameの引用符を取ってもできませんでした。

pathfile()が引数でdirnameを受けられるようにするか、dirnameをpublicにするかしないとダメです

No.4546 2017/10/16(Mon) 11:53:22
windows7 64ビットでメイン画面が表示されない / 島崎
windows7 64ビット IE 11.0.47 uwsc5302フリー版でタスクマネージャでは起動していますがデスクトップにメイン画面が表示されない。
ヘルプの使い方説明の詳細が表示されない。
宜しくお願いします。

No.4536 2017/10/11(Wed) 18:35:44

Re: windows7 64ビットでメイン画面が表示されない / umiumi
一時解凍で中身を見ているだけで、正しく解凍していないか
ネットワーク越しに起動しているのでは?

ヘルプが見れない  #N3
http://www.uwsc.info/faq.html#N3

No.4542 2017/10/15(Sun) 12:47:55
単純な翻訳作業の自動化 / さかぴー
google apiなどを使って20文字程度の文章の翻訳を繰り返したいのですが、やり方が全く分からず苦戦しています。よろしければ助言お願い致します。
No.4528 2017/10/09(Mon) 09:44:06

Re: 単純な翻訳作業の自動化 / stuncloud
Google Cloud Translation APIを試してみようとしたんですが、どうも有料になってしまう?ようだったので実際に使うとこまで試していません

Google APIを使うにはGoogleアカウントが必須です
Google APIs Consoleで新しいプロジェクトを作ってGoogle Cloud Translationを有効にします
認証なしで使う方法はなさそうなので、OAuthするかAPIキーを発行します
APIキー発行のほうが多分楽ちんですが僕は使ったことがないので詳しいことはわかりません
OAuthは過去に書いたサンプルがあります https://gist.github.com/stuncloud/775042e3149e8aa8a45f

Google APIs Consoleでの準備が全て済んだら、UWSC側でコードを書きます
Webへのリクエストを投げる場合は Msxml2.XMLHTTP を使います
例えば翻訳対象の言語一覧を取得するなら

const API_KEY = "" // 発行したAPIキー
uri = "https://translation.googleapis.com/language/translate/v2?key=" + API_KEY
with createoleobj("Msxml2.XMLHTTP")
 .open("GET", uri, FALSE)
 send()
 response = .responseText
endwith
print response

といった使い方をします
responseTextはjsonで返ってくるのでjsonパーサを実装すると扱いが格段に楽になります
(このあたりも上に貼ったgistに書いてあります)

やるべきことはこのくらいなのですが、これでもなお手の付け所がわからないかと思います

・Google APIs Consoleについて

とにかくググって導入方法を解説しているサイトで学んでください
これはGoogle APIを使う上では避けて通れません

・Msxml2.XMLHTTPについて

とりあえず普通のWebサイトへのアクセスを試すところからはじめてみてください
こっちも検索すればサンプルがいっぱい出てきます(UWSC以外の言語の場合もありますが使い方は同じです)

・API自体の使い方について

翻訳APIの使い方を解説しているサイトがあればそこを参照しましょう
全く別の言語で解説されているでしょうがなにかしらヒントにはなります
ただ、Google APIの機能を内包したライブラリを使っている場合がありそういうのは参考になりません
curlを使ってGoogle APIを使うとか、そういうほうが参考になると思います
また、翻訳以外のAPIの使い方を見てみて、実際自分でも使ってみて、どういった流れなのか把握しておけば翻訳APIにも応用が利きます
Web APIってのは要するに正しいURLとメソッドとリクエストボディが送れればいいだけなんです
それが理解できれば、あとは適切なAPI仕様をGoogle APIs Consoleから探し出せるようになるだけで自在に扱えるようになるでしょう

No.4535 2017/10/10(Tue) 11:14:20
ファイルを開くときのデフォルトフォルダ / 谷
動画再生ソフトで【開く】を押したときに、
デフォルトでは前回使ったフォルダが開く設定になっています。

これを制御したいです。
VBAでは下記のような形でフォルダを開く場所を決めているのですが、
UWSCの場合はどのように記述すればよろしいでしょうか?
ご指導お願いします。


------------------------------------
VBAの時...

With CreateObject("WScript.Shell")
.CurrentDirectory = "\\〜"
End With

フォルダを開く(Application.GetOpenFilename...など)

--------------------

No.4530 2017/10/09(Mon) 14:39:37

Re: ファイルを開くときのデフォルトフォルダ / しろまさ
CreateObject を CreateOleObj に。
End With を EndWith に変えてそのまま使えそうですね(未検証)

No.4534 2017/10/10(Tue) 09:11:34
EXEから抽出したEXCELを加工したい / sen
いつもお世話になっております。
★印のところで、UWSCモジュールエラーみたいなのが出て、止まります。
色々と思考錯誤してみるんですが、うまくいったり、いかなかったりなんです。
ご教授いただけませんでしょうか?


EXEC("D:\参照.exe")
CLKITEM(GETID("受注残", "ThunderRT6FormDC", -1), "選択", CLK_BTN)
CLKITEM(GETID("Ex3", "#32770", -1), "OK", CLK_BTN) //ここで、Excelが立ち上がってきます。
CLKITEM(GETID("受注残", "ThunderRT6FormDC", -1), "終了2", CLK_BTN)

fエクセル待ち()  //対策@ エクセルをとらえられてないのかなと思いまして。
id = GETID("Excel", "XLMAIN", -1)  //対策A エクセルをとらえられてないのかなと思いまして。
sleep(1)  //対策B 長めにしてみた。
With Excel.ActiveSheet
  //.Range("A1").Select //対策C Cellsの前にSELECTを一度入れたら、良いかなと思いまして。
    FOR t = 1 to 50
     if copy(XLGETDATA( Excel,4,t ),6,3) = "/02" then break  //対策D Cellsがいけないのかと思いまして。
     //if copy(.Cells(4,t).value,6,3) = "/02" then break  //★ここで引っ掛かります。
    next
EndWith

PROCEDURE fエクセル待ち()
  REPEAT
   COM_ERR_IGN  //COMエラー無視
    Excel = GETACTIVEOLEOBJ("Excel.Application")
   COM_ERR_RET  //エラー処理復帰
  UNTIL !COM_ERR_FLG //COMエラーなくなるまで繰り返し
fend

No.4521 2017/10/06(Fri) 22:15:38

Re: EXEから抽出したEXCELを加工したい / リキュール
以下でも駄目ですか。

 if copy(.Cells(4,t).value,6,3) = "/02" then break

dat = .Cells(4,t).value
if copy(dat,6,3) = "/02" then break

No.4529 2017/10/09(Mon) 14:35:17

Re: EXEから抽出したEXCELを加工したい / sen
ありがとうございます。
明日、やってみます。

No.4531 2017/10/09(Mon) 20:07:29
プリントの書体変更 / cuca
プリントウィンドウ内の書体や文字の大きさを変更する方法はありますか
No.4500 2017/10/03(Tue) 17:15:14

Re: プリントの書体変更 / satocha
ヘルプの後ろの方に「uwsc.ini」のセクションがあり、次のように記されています。
−−以下引用
[SET] セクション
  LogLines = PRINT文でのロギングの最大行数を指定 (デフォルトは2000行)
  DefaultFont = フォント名, サイズ (MSGBOX, BALLOON等でのフォント、デフォルトは'Tahoma')
  LogFont = フォント名, サイズ (PRINT文でのログ用フォント、デフォルトは'MS ゴシック')
−−以上引用

もし、質問の意図がスクリプト実行中にprintウインドウのフォントを変更したいということでしたら、iniファイルで設定しているので、普通にやったのでは難しいと思います。

No.4503 2017/10/04(Wed) 08:09:23

Re: プリントの書体変更 / stuncloud
%APPDATA%\UWSC\UWSC.INI を書き換えてP_UWSC_REEXECでスクリプトを再実行すればフォントを変更してprintできますね
slctboxでフォントを変更するサンプル

----------------------------------------------
textblock FontList
MS ゴシック,14
MS ゴシック,20
メイリオ
endtextblock

with createoleobj("WScript.Shell")
 appdata =.ExpandEnvironmentStrings("%APPDATA%")
endwith
with createoleobj("Scripting.FileSystemObject")
 UwscIni = .BuildPath(appdata, "\UWSC\UWSC.INI")
endwith

LogFont = readini("SET", "LogFont", UwscIni)

logprint(TRUE, 200, 200, 400, 300)
sendstr(getid(GET_LOGPRINT_WIN), "", 1, TRUE)
print "現在のLogFontは"
if length(LogFont) then
 print LogFont + " です"
else
 print "未設定です"
endif

font = slctbox(SLCT_BTN or SLCT_STR, 0, "LogPrintのフォントを選択", split(FontList, "<#CR>"))
if font = -1 then exit

writeini("SET", "LogFont", font, UwscIni)
poff(P_UWSC_REEXEC, TRUE)
----------------------------------------------

実際に使うとしたら

----------------------------------------------
// 表示したいフォントと異なる場合はフォントを設定しスクリプト再実行
if LogFont <> "設定したいフォント" then
 writeini("SET", "LogFont", "設定したいフォント", UwscIni)
 poff(P_UWSC_REEXEC, TRUE)
endif
// 以下本来の処理
DoSomething()
----------------------------------------------

こんな感じかな

No.4519 2017/10/06(Fri) 10:31:19

Re: プリントの書体変更 / satocha
stuncloudさま

実行中でもiniファイルの変更が反映されるのですね。
勉強になりました。

No.4524 2017/10/07(Sat) 10:04:28

Re: プリントの書体変更 / stuncloud
いえ、実行中には反映されないという認識で合っています
poff(P_UWSC_REEXEC, TRUE) で再実行した際にUWSC.iniが再読込みされることがわかったので、それを利用して一度のスクリプト実行でiniファイルの変更が反映されたように見せかけています

No.4527 2017/10/08(Sun) 14:35:55
バックグラウンドで動作 / AQUA
初心者で申し訳ありません。
「バックグラウンドで実行できる形で記録」にチェックを入れて適当にヤフーのページをクリックしたのを記録して実行してみたのですが、バックグラウンドでなく普通に前面に出てきて実行されてしまいます。
MOUSEORG(GETID("Yahoo! JAPAN - Google Chrome","Chrome_WidgetWin_1"),MORG_DIRECT)
BTN(LEFT,CLICK,919,159,125)
BTN(LEFT,CLICK,335,503,140)

何かが足りないのでしょうか?
よろしければ助言お願い致します。

No.4526 2017/10/08(Sun) 02:41:07
クリック処理について / ねこねこ
UWSCをはじめて3ヶ月ですが、ProのRecIE(web記録)の使い方がいまだにわかりません。
以下のボタンを押して、次ページをめくっていきたいのですが、
<a class="_7777 coreSRightPaginationArrow" role="button" href="/p/BZ54e1uj77I/?tan-by=incetopuk">次ページ</a>

RecIEでは、クリックして、以下のように出ます。この場合、どう書けば、クリックできるのでしょうか。IESETDATA(IE,"TAG=A","次ページ")では、押せませんでした。基礎がわかってないのですが、何とか、コードをよろしく教えてください。
s = IEGetData(IE,"TAG=A",30)
Assert(s="次ページ",13)
s = IEGetData(IE,"TAG=A",30)
Assert(s="次ページ",15)

No.4523 2017/10/07(Sat) 00:40:26

Re: クリック処理について / ねこねこ
掲示板にて、自己解決しました。
No.4525 2017/10/07(Sat) 14:59:56
全1137件 [ ページ : << 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ... 114 >> ]