UWSCでダイアログのボタンを押す
スクリプトでIEを操作中、次のようなエラーダイアログが出た
「OK」ボタンを押すだけのサンプルコード
CLKITEM(GETID("Windows Internet Explorer","#32770"),"OK", CLK_ACC or CLK_MUSMOVE)
ちなみに、#32770はダイアログのクラス名
カテゴリー:uwsc
スクリプトでIEを操作中、次のようなエラーダイアログが出た
「OK」ボタンを押すだけのサンプルコード
CLKITEM(GETID("Windows Internet Explorer","#32770"),"OK", CLK_ACC or CLK_MUSMOVE)
ちなみに、#32770はダイアログのクラス名
カテゴリー:uwsc
DIM array[] = "すいか","いちご","れもん" //配列
//LENGTHで配列の数を確認し、その分だけ展開させる。
//要素数は「0」から始まるので、LENGTHの結果から-1する。
FOR i = 0 TO (LENGTH(array) - 1)
PRINT array[i]
NEXT
カテゴリー:uwsc
//改行を全て削除する
moji = REPLACE(moji, "<#CR>", "")
これで改行ができない場合は、CR(キャリッジリターン)とLF(ラインフィード)を指定して削除する。次のコードを追加。
moji = REPLACE(moji, chr(13), "" ) //CRを削除
moji = REPLACE(moji, chr(10), "" ) //LFを削除
カテゴリー:uwsc
PHPでファイルをダウンロードするサンプルコードです。
例として、mp3ファイルをダウンロードします
ケース1 サーバーにダウンロードする
------------------------------------------
<?php
// ダウンロード元のファイルパス(絶対パス、ファイル名まで含む)を指定する
$url = 'http://example.com/voice/voice.mp3';
$data = file_get_contents($url);
file_put_contents('./download/hozon.mp3',$data); //ファイルの保存先
?>
------------------------------------------
ケース2 PCにダウンロードする
------------------------------------------
<?php
// ダウンロード元のファイルパス(絶対パス、ファイル名まで含む)を指定する
$fullpath = 'http://example.com/voice/voice.mp3';
// 保存時のファイル名を設定
$filename = 'hozon.mp3';
// HTTPヘッダ送信。ローカルPCに保存するためのダイアログが出る。
header("Content-type: audio/mpeg"); //mp3の場合。ファイルの種類によって適宜変更
header("Content-Disposition: attachment; filename=$filename");
// ファイルを読み込んで出力します。
readfile($fullpath);
?>
------------------------------------------
カテゴリー:PHP
wordpressで運用しているブログがスパムメールの踏み台にされていると発覚。さくらインターネットからもどうにかしろとメールをいただき、wordpressの再構築を行った。
その際につまずいたポイントを覚え書き。
別サーバーにwordpressをインストールして、エクスポートしておいたmysqlデータを新wordpressのデータベースにインポートした。「これで元通りになるだろう」ってところまで進みいざ、URLにアクセスするが表示されず。「500 Internal Server Error」や真っ白画面になった。
--------原因1--------
テーブル接頭辞「wp_」が一致していなかった。
wordpressインストール時に決めた、テーブル接頭辞が元のwordpressと違っていた。一致させるために、インポートしたmysqlデータをいじって新しいwordpressのテーブル接頭辞に合わせる。
変更箇所1
「wp_options」テーブルの「○○_user_roles」の○○の部分。
変更箇所2
「wp_usermeta」テーブルの「wp○○_~」の部分。4、5箇所。「meta_key」カラムをテーブル接頭辞で検索するといい。
--------原因2--------
URLの不一致。
最終的に元のURLに戻すのだが、一時的に新旧のwordpressを両立させることにした。その際、新wordpressのURLは仮の物であるが、設定は旧ブログのまま表示がうまくいかなかった。
解決方法は「wp_options」の「url」と「home」の値をデータベースにアクセスして直接変更。
念のため「wp_options」テーブルの「option_value」カラムに検索をかけて旧アドレスで残っているものはないかも確認する。
また、トップページは表示されるが、それ以外のページが表示されない現象が起こった。パーマリンクの設定が問題のようで、設定をデフォルトにしてから、再度設定したら解消した。
カテゴリー:wordpress
エクセルのワークシートの追加とワークシート名を変更する記述のメモ
-------------------------------------------------
//対象のエクセル
EXCEL = GetActiveOleObj("Excel.Application", "ファイル名.xls")
//ワークシートの追加
EXCEL.activeworkbook.worksheets.add()
//追加したワークシートの名前の変更。
Excel.ActiveSheet.name = ワークシート名
もしくは、
//(1)は左から一番目のワークシート。
EXCEL.activeworkbook.worksheets(1).name = ワークシート名
※既存のワークシート名を指定すると、重複させられないのでCOMエラーになる
-------------------------------------------------
カテゴリー:uwsc
全部ひらがなで構成された文字列だけを抜き出そうと、下記のSQLを実行した。
SELECT field1 FROM table1 WHERE field1 REGEXP '^[ぁ-ん]+$'
しかし文字列の中にひらがなの「む」がはいってない文字列だけマッチしなかった。
文字コードの設定によって起こる現象らしい。
そこで次のように変更↓↓↓
SELECT field1 FROM table1 WHERE field1 REGEXP '^[ぁ-んむ]+$'
「む」を付け足して解決。
カテゴリー:mysql
UWSCで正規表現を使ったマッチしているかどうかのテスト
-------------------------------------------------
re=CreateOleObj("VBScript.RegExp")
re.pattern = ";$" //正規表現のパターン。行末に「;」があればマッチ。
re.Global = True //文字列全体を検索。trueでする(規定)、falseでしない(マッチする文字列が見つかったらそこで終了)。
re.IgnoreCase = True //大文字・小文字を区別。trueでしない(規定)、falseでする。
str = "aaaaa;" //対象の文字列
IFB True = re.Test(str) THEN
PRINT "マッチしている"
ELSE
PRINT "マッチしてない"
ENDIF
-------------------------------------------------
カテゴリー:uwsc
正規表現を使ってマッチした文字列を取り出したい。
UWSCでの正規表現はVBScriptを用いる。
-------------------------------------------------------------
moji = "1234567891000520005" //対象となる文字列
re=CreateOleObj("VBScript.RegExp")
re.pattern = "1.*5" //正規表現パターン。1と5の間の文字を取り出す。
re.Global = True //文字列全体を検索。trueでする(規定)、falseでしない(マッチしたらそこで終了)。
re.IgnoreCase = True //大文字・小文字を区別。trueでしない(規定)、falseでする。
match = re.Execute(moji)
//マッチしたものをすべて出力
for i = 0 To match.Count-1
print match.Item(i).Value
next
-------------------------------------------------------------
出力結果:1234510005
カテゴリー:uwsc
フィールドの中の、特定の長さのレコードだけを取り出す場合の記述
SELECT * FROM table1 WHERE LENGTH(field1) > 60
カテゴリー:mysql