UWSC 掲 示 板
投稿時に「証明書が不正です」と出る場合には、JavaScriptをオンにしてください
動作不具合での質問の場合には環境(OS,IEのバージョン等)の表記もしてください
タイトルは質問内容を表したものにしてください
ネットゲーム関係の質問はご遠慮ください

テキストの途中にタグを入れる / NER
配列に入れてpos関数でできるような気がするのですが、自分の実力では分かりません。
助けてくれませんか?

「加工前」
<div class="user1">テキスト1</div>
<div class="user1">テキスト2</div>
<div class="user1">テキスト3</div>

上記の文章を下記のようにするスクリプトがなかなか考えつきません。
何か良い方法ないでしょうか?

「加工後」
<div class="user1"><span style="font-size: 14px;">テキスト1</span></div>
<div class="user1"><span style="font-size: 14px;">テキスト2</span></div>
<div class="user1"><span style="font-size: 14px;">テキスト3</span></div>

No.3348 2017/01/01(Sun) 09:47:38

Re: テキストの途中にタグを入れる / satocha
テキストの加工なら正規表現を使えばいいと思います。「正規表現 html タグ」あたりのキーワードで検索すれば、ヒントが見つかると思います。また、UWSCでの正規表現使用法はFAQの「正規表現を利用したい  #N26」を参照してください。

正規表現はテキスト加工において強力な武器となりますが、それでもHTMLタグを完全に制御するのは容易ではありません。

そこで、htmlのことはhtmlに任せてみてはどうでしょう。このやり方なら、どんな複雑なHTMLでも比較的簡単に編集できます。

document    =CreateOleObj( "htmlfile" )
document.write( OrgStr )
document.parentWindow.alert( document.body.innerHTML )
span_org  =document.createElement( "span" )
span_org.style.setAttribute( "font-size", "14px" )
for element in getOleItem( document.getElementsByTagName( "div" ) )
  text  =element.innerText
  element.removeChild( element.firstChild )
  span  =span_org.cloneNode()
  textnode=document.createTextNode( text )
  span.appendChild( textnode )
  element.appendChild( span )
next
print document.body.innerHTML
document.parentWindow.alert( document.body.innerHTML )
textblock OrgStr
<html><body>
<div class="user1">テキスト1</div>
<div class="user1">テキスト2</div>
<div class="user1">テキスト3</div>
</body><html>
endtextblock

No.3349 2017/01/01(Sun) 12:12:46

Re: テキストの途中にタグを入れる / NER
textblockとCHGMOJでできました。CHGMOJで入れ替えするだけでした。なんか難しく考えてしまう傾向があります。
No.3350 2017/01/01(Sun) 13:08:16

Re: テキストの途中にタグを入れる / NER
satocha様回答ありがとうございます。documentのスクリプトでできました、どういう構造でそう書くのか?がいまいち分かりません。色々検索して調べてみたいと思います。
No.3351 2017/01/01(Sun) 13:13:19
EXE化した際のCreateFormについて / sasaga
最近、Pro版のCreateFormを使って、HTMLを使えるようにしているのですが、
EXE化した際に、HTMLがローカルの外部ファイル(javascriptやcss)を
読み込んでくれないことがわかり、少々困っています。
(EXEにしなければ問題なく読み込めます)

どなたか対応策を御存知ないでしょうか。

No.3345 2016/12/31(Sat) 00:32:56

Re: EXE化した際のCreateFormについて / sasaga
すみません、色々試行錯誤していたら自己解決しました。
ieで単一ファイル(mht化)すれば問題なくExe化できました。

大変お騒がせいたしました。

No.3346 2016/12/31(Sat) 01:04:32
ライセンス関連の問い合わせします。 / itmuji


Free Versionの場合、企業で使用しても問題がないでしょうか。
企業でソフトウェアを使用するためにはPro Versionの購入が必要ですか?

No.3342 2016/12/28(Wed) 10:56:48

Re: ライセンス関連の問い合わせします。 / 俄プログラマー
ソフトダウンロードに付属Readme.txtより

・商用利用、配布について
  商用利用は自己責任において可です。
  二次配布(スクリプトにFree版のUWSC.EXEを同封)するような事はご遠慮ください。
  この場合は、シェアウェア版のUWSC ProにてEXE化したものを配布するか
  当サイトからFree版をダウンロードしてもらうようお願い致します。

No.3343 2016/12/28(Wed) 11:01:14
別ダイアログによる処理中断される / TJ
UWSCの初心者です。

AccessフォームからExcelへの転記処理で利用しています。
通常問題なく動きます。

しかし、処理途中別のダイアログがポップアップ表示されると、本来Excelに貼付すべき内容が元Accessのフォームに貼付られ、エラーとなります。

まずAceesフォームとExcelウィンドのIDを取得して、後でACWを使ってウィンドの切替を行い、値のコピー貼付という簡単な処理です。恐らくダイアログが出た関係で、ACWがうまくいかなかったと思いま
すが、解決方法が分かりません。

何か解決法また別のやり方があれば教えていただきたいです。

No.3339 2016/12/27(Tue) 19:03:59

Re: 別ダイアログによる処理中断される / 俄プログラマー
別のやり方は省略させて下さい。

現在のソースを少し手を加えるなら以下のようなイメージで大丈夫じゃないでしょうか。
誤動作の原因の前にダイアログを閉じてから処理します。


ダイアログ閉じる()
//ACW等何らかの処理
//コピー操作

ダイアログ閉じる()
//ACW等何らかの処理
//貼り付け操作



PROCEDURE ダイアログ閉じる()

 ID = getid("ダイアログのタイトル名")
 if 0 < ID then
  clkitem(ID,"OK") //OKはボタン名
 endif

 //もしダイアログが複数存在するなら上記の様な感じでこの下に追記して閉じる様にしましょう。

FEND

No.3340 2016/12/27(Tue) 20:27:28

Re: 別ダイアログによる処理中断される / TJ
早速なご回答ありがとうございます。

なるほど、この方法もありますね。これで試してみます。

ダイアログの関係で、ACWがうまく動作しないと書きましたが、ダイアログが前面になって、背面にあるウインドクリックできないのが原因のようです。いろいろ調べたら、MOUSEORG関数を使えば、背面にあるウインドにもBTN、KBDでマウス、キーボードの操作を送れるみたいです。これ実現できれば、ダイアログを閉じる処理がなくてもいけそうですので、この方法も試してみたいと思います。

No.3341 2016/12/28(Wed) 08:35:54
Uws2Exe.exeの圧縮チェックボックスがグレイアウトの件 / 万葉の民
いつも便利に使わせていただいております。
FAQかもしれませんが...

Win7 profesional 32bit環境で、UWSC5.2.3.0です。
Uws2Exe.exeとupx307w.zipでソースコードのEXE化しようと、
ダイアログ画面を表示させると、圧縮チェックボックスが
グレイアウトしてファイル圧縮できません。
他のPCではチェックできるのですが、
何かチェックすべき点などありましたら
ヒント、アドバイスをお願いいたします。

C:\MyAPP\UWSC\upx307w\upx.exeは確かにあります。

Uws2Exe.INIの内容...
[SET]
UpxPath=C:\MyAPP\UWSC\upx307w

No.3331 2016/12/25(Sun) 20:40:03

Re: Uws2Exe.exeの圧縮チェックボックスがグレイアウトの件 / しろまさ
多分 %appdata%\uwsc の Uws2Exe.INI に設定書込でグレーアウト解除されます。

ちなみにコマンドラインでのExe化ではカレント設定で実行できています。

C:\Uwsc\EXE\Pro\Uws2Exe.exe test.uws test.ico /stibelu

No.3336 2016/12/26(Mon) 09:25:09

Re: Uws2Exe.exeの圧縮チェックボックスがグレイアウトの件 / 万葉の民
しろまささん。コメントありがとうございます。
>多分 %appdata%\uwsc の Uws2Exe.INI

こんなとこ(%appdata%\uwsc)にもアッだとは....!
これは伏兵でした。てっきりインストールディレクトリだと思い込んでいました。
夜が明けたら、問題のPCで試してみます。ありがとうございました。

No.3338 2016/12/27(Tue) 02:07:20
最初に戻りたい / 名無し
UWSC初心者です。
よろしくお願いします。
以下の文でwhilewendの場合とは別にバツ.bmpをクリックした後にも先頭に戻りたいのですが
何を使えば戻れるでしょうか?

while true
ifb chkimg("アイコン.bmp")=true then
btn(left,click,g_img_x + random(5),g_img_y + random(5))
endif

中略

ifb chkimg("B.bmp")=true then
btn(left,click,g_img_x + random(5),g_img_y + random(5))
btn(left,click,g_img_x + random(5),g_img_y + random(5))
btn(left,click,g_img_x + random(5),g_img_y + random(5))
else
ifb chkimg("バツ.bmp")=true then
btn(left,click,g_img_x,g_img_y)
endif
endif

中略

sleep(5.0)  //5秒待機
MMV(500,500) //マウス移動
wend

No.3332 2016/12/26(Mon) 03:00:25

Re: 最初に戻りたい / toria
//continueを使用すれば「while true」のところまで戻れます
ifb chkimg("バツ.bmp")=true then
  btn(left,click,g_img_x,g_img_y)
  continue
endif

No.3333 2016/12/26(Mon) 04:44:56

Re: 最初に戻りたい / 名無し
素早い返答ありがとうございました。
おかげさまで解決しました。

もう一つ問題が出てきたのでよろしくお願いします。
以下の文で画像Aが出てくるまで待機して出てきたらクリックとしたいのですが画像Aが出てきても反応しません。
どこが間違っているのでしょうか。

While True
 IFb CHKIMG("A.bmp")
  BTN(left,click,g_img_x,g_img_y)
  Break
 EndIf
 SLEEP(0.1)
Wend

No.3334 2016/12/26(Mon) 06:17:26

Re: 最初に戻りたい / tmp
>画像Aが出てきても反応しません。

過去ログ調べましょうよ。

No.3337 2016/12/26(Mon) 12:08:36
CDドライブの状態をチェックしたい / リキュール
ノートパソコンのCDドライブにビデオCDをセットし、データを操作するソフトを起動しています。
ドライブにビデオCDをセットすると「ゴォー」と高速回転音がして、しばらくすると回転音が消えます。
高速回転音は2〜10秒程度で一定ではありません。
回転音が消えた状態でデータ操作ソフトを起動しないとエラーになる場合があります。
このため
msgbox(i + "番のビデオCDをセットして回転が止まったら OK を押して下さい。")
という行を入れて、手動で OK ボタンを押しています。
ドライブの高速回転音が止まったのを調べる方法はあるのでしょうか。
OSはWindows7です。
よろしくお願いいたします。

No.3326 2016/12/23(Fri) 20:01:36

Re: CDドライブの状態をチェックしたい / リキュール
私の勘違いがありました。
>回転音が消えた状態でデータ操作ソフトを起動しないとエラーになる場合があります。
と記載しましたが、ディスクを入れて「カチャカチャ」と音がして「ゴォー」という回転音がしてからデータ操作ソフトを起動すればエラーになりません。
ドライブがビデオCDを認識できた状態を調べる方法が分かればよいみたいです。
よろしくお願いいたします。

No.3328 2016/12/24(Sat) 21:56:40

Re: CDドライブの状態をチェックしたい / 俄プログラマー
今物理ドライブを持っていないので想像の域ですが。

GETDIRを使って戻り値が1以上なら良いのでは?
もし準備中でエラーが返るようならTRYを使うなど工夫が必要かもしれませんね。

No.3329 2016/12/24(Sat) 23:24:03

Re: CDドライブの状態をチェックしたい / リキュール
俄プログラマー さん、お世話になります。
GETDIRで解決できました。
getdir("D:\")で、ディスクを認識すると0→4に変化しました。
ありがとうございました。

No.3330 2016/12/25(Sun) 13:24:49
PC間のメッセージの仕方 / masaki
LAN内の他のPCにメッセージを飛ばし、
送信先のPCにMSGBOXで「こんにちは」と表示させるにはどのようにすればよいのでしょうか?
共有フォルダにテキストファイルを保存し自分宛のテキストファイルがあれば
読込を行って表示させる方法しか思いつきません。
可能であればネットを通して離れた場所のPCに文字表示できればと思っています。

No.3321 2016/12/22(Thu) 15:32:32

Re: PC間のメッセージの仕方 / stuncloud
winsockでゴリゴリ書く感じですねぇ、def_dllをたくさん使います
しゅんさんがブログでメッセージの送受信ができるモジュールを公開されてますよ!
1から書こうとするとなかなか大変なので、そちらを使ってみてはいかがでしょうか

僕も過去に超簡易HTMLサーバーやIRCクライアントをUWSCで書いたことがあります
winsockでゴリゴリ書くといろいろ作れます

VBだとwinsockの機能がCOMであるみたいなんですけどね (MSWinsock.Winsock)
VBのランタイム入れとけば使えるのかな?

No.3322 2016/12/22(Thu) 16:28:43

Re: PC間のメッセージの仕方 / しゅん
この辺ですかね。
http://d.hatena.ne.jp/junjun777/20131110/uwsc_winsock
しかし、Winsockの知識がないと使いにくいかと思います。
まあ、これ単体でもメッセージを送ることはできますが。

ただ、インターネット越しだとファイアーウォールとかいろいろあるので難しいですね。
簡単なのは、どこかの掲示板を借りて、IEを非表示で操作するなりMSXML2.XMLhttpを使うなりした、掲示板を仲介にした通信、でしょうか。
インターネットに公開できない情報の場合、暗号化等が必要ですが。

No.3323 2016/12/22(Thu) 18:18:21

Re: PC間のメッセージの仕方 / satocha
powershellコードレポジトリにTCP/IPクライアント/サーバスクリプトが上がってました。
http://poshcode.org/4601
これを借用すればいけるような気がします

No.3324 2016/12/23(Fri) 15:43:07

Re: PC間のメッセージの仕方 / satocha
>可能であればネットを通して離れた場所のPCに
この部分を見ていませんでした。
TCPじか叩きだと、ファイアウォール周りやセキュリティ設定が大変なことになりそうですね。
そこで、フリーメールを使ってみたらどうでしょう。
記事No.2895以下のスレッドで、メールの送受信について、詳述されています。
しゅんさんからは要DLLながら受信スクリプトも提供されています。

No.3325 2016/12/23(Fri) 16:13:51

Re: PC間のメッセージの仕方 / masaki
stuncloudさん、しゅんさん、satochaさん
お返事ありがとうございます。
まずはLAN内のメッセージのやり取りをご紹介頂いた方法を参考にしがんばってみます。
有難う御座います。

No.3327 2016/12/24(Sat) 09:45:20
CREATEFORM FOM_FORM2 Xボタン / まるぱ
毎日UWSC使っていて重宝しています、ありがとうございます。

フォーム画面2つめ、こちらのXボタンが効かないですが、これは仕様でしょうか?
このボタンをクリックしてフォーム画面を非表示にする方法はありますでしょうか。
アドバイスよろしくお願いいたします。

No.3311 2016/12/20(Tue) 10:44:54

Re: CREATEFORM FOM_FORM2 Xボタン / stuncloud
再現できません
こちらではふたつめのフォームも×ボタンで閉じられます

No.3313 2016/12/20(Tue) 12:26:53

Re: CREATEFORM FOM_FORM2 Xボタン / まるぱ
stuncloudさん、ありがとうございます。

オプション指定で「+FOM_FORMHIDE」にしていたのが原因でした。(- -;

失礼しました

No.3316 2016/12/20(Tue) 20:57:04

Re: CREATEFORM FOM_FORM2 Xボタン / まるぱ
FOM_FORMHIDE このオプション「フォームを非表示状態で起動する」ですが、
これをCTRLWIN(XXX,SHOW)で表示すると、
Xボタン押しても消えませんね。

これはXボタン押したら消えるようになるのが希望です。

No.3317 2016/12/20(Tue) 21:16:11

Re: CREATEFORM FOM_FORM2 Xボタン / stuncloud
> FOM_FORMHIDE このオプション「フォームを非表示状態で起動する」ですが、
> これをCTRLWIN(XXX,SHOW)で表示すると、
> Xボタン押しても消えませんね。

なるほど、閉じなくなりました
なにか回避できる手段ないかなと頑張ってみましたがちょっと手に負えなさそう
フォーム内に閉じるボタンを作るくらいですかねぇ…
umiumiさんに対応してもらうのが良さそうですね

No.3318 2016/12/21(Wed) 10:55:30

Re: CREATEFORM FOM_FORM2 Xボタン / まるぱ
stuncloudさん、症状の確認ありがとうございます。

>フォーム内に閉じるボタンを作る
はい、今はそのようにしています。

umiumiさん、次回のバージョンアップで対応をしていただけたら、助かります。m(- -)m

No.3319 2016/12/21(Wed) 21:25:32

Re: CREATEFORM FOM_FORM2 Xボタン / umiumi
確認しました。
修正します。

No.3320 2016/12/21(Wed) 23:29:42
教えて下さい。エクセルの画面が最大化にならないのです((+_+)) / ジャスミン
UWSCを使い始めたばかりの初心者です。
業務を簡素化するためのプログラム作成を頼まれておりますがうまくいかないので
教えてもらえると助かります。

一部抜粋ですが、以下のようにエクセルのファイルを開いてマクロを実行するのに画面を最大化して見やすくしたいのですが、"CTRLWIN,MAX"が反応してくれません。
どのようにしたらよろしいのでしょうか?
簡単な質問なのだろうと思うと申し訳ないのですが、教えていただけたら助かります。

EXCEL = XLOPEN("C:\Users\USER\AppData\Roaming\Microsoft\Excel\XLSTART\PERSONAL.xlsb")
EXCEL = XLOPEN("C:\Users\USER\Desktop\Test.xlsx")
id = GETID("c:\Users\USER\Desktop\Test.xlsx")
IFB STATUS(id, ST_ICON)
CTRLWIN(id,NORMAL)
ENDIF
//msgbox("最大化しましょう")
IFB !STATUS(id,ST_ACTIVE)
CTRLWIN(id, MAX)
ENDIF
EXCEL.Run("PERSONAL.XLSB!Macro2")

No.3312 2016/12/20(Tue) 11:00:14

Re: 教えて下さい。エクセルの画面が最大化にならないのです((+_+)) / stuncloud
> id = GETID("c:\Users\USER\Desktop\Test.xlsx")
おそらくこの部分でidが取れていません (-1 になっていると思われる)
msgbox(id) として確かめてみてください

id = GETID("Test.xlsx")
のようにファイル名だけで部分一致させるか
id = hndtoid(EXCEL.hwnd)
としてウィンドウハンドルをidに変換する

No.3314 2016/12/20(Tue) 13:43:03

Re: 教えて下さい。エクセルの画面が最大化にならないのです((+_+)) / ジャスミン
stuncloud 様

早速のご回答ありがとうございます♪
指示してくださった通りに直したらできました!!!
あんなに悩んでいたのにあっという間に解決できて感激しました!!
すごいです♪
感謝です♪
ありがとうございました(*^-^*)

No.3315 2016/12/20(Tue) 14:09:53


 過去ログ(〜2017/03/22)・検索ツール


以下のフォームに記事No.と投稿時のパスワードを入力すれば
投稿後に記事の編集や削除が行えます。
200/200件 [ ページ : << 1 ... 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ... 20 >> | 過去ログ ]