|
お勧め1「テンプレート作成支援言語(T言語)」ver 1.4.2
2012/04/15 更新
テンプレート作成支援言語について
Vectorでダウンロードする
お勧め2「ブラウザ自動操作ツール(IEAuto2013)」ver 1.0.2
2013/03/01 更新。
ブラウザ自動操作ツール(IEAuto 2009)について
Vectorでダウンロードする
お勧め3「ブラウザ自動操作ツール(IEAuto2018) 」ver 0.9.4
2018/09/07 更新。
ダウンロードする。
旧Ver:ver 0.9.0_beta
お勧め4「データベース更新前更新後比較ツール(DBCMP) Oracle接続可」ver 1.4.0 2010/03/14
新規公開
ダウンロードする。
00251
jquery drag drop html5 ASP.NET json
登録日:2019/03/01 9:07:27
更新日:2019/03/01 9:07:27
jquery drag drop html5 , ASP.NET webform形式でjson返却
https://qiita.com/rbtnn/items/b2ec6c7dee792e66ac75
?fbclid=IwAR1Xt6dBQnykVOCBPH9FA2OnkIzwa5mKQJKb2CUkK5IEiQNYfzcYsBgeD_8
http://www.it-view.net/drag-and-drop-file-upload-jquery-178.html?fbclid=IwAR3nR_2B_sR84oGHIzIJSxyuBmWZdMamqUHIk0m26MwmZbm7QVjZb0fD_sg
|
00250
SVGとVue.jsのお勉強 1
登録日:2019/02/28 1:20:27
更新日:2019/02/28 1:37:59
SVGをvue.jsのデータを元に生成。
データは暗号ちっくな配列で管理(笑)
SVGとVue.jsのお勉強 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>SVGとVue.jsのお勉強1</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.0.3/vue.js"></script>
<style>
circle{
fill: skyblue;
transition: all 0.2s cubic-bezier(.10,.02,.02,.10);
stroke: rgb(200, 50, 200);
stroke-width: 1px;
}
.active{
fill: blue;
stroke-width: 5px;
}
</style>
</head>
<body>
<div id="app">
<svg viewbox="0 0 600 650" width="600" height="650"
v-bind:style="{ 'transform': 'rotate('+rotate+'deg) scale('+scale+')', 'background-color': 'white' }">
<template v-for="(obj,i) in circles">
<template v-for="(row,idx) in obj[3]">
<text v-bind:x="850 - (obj[0] * 10 * 40 +40) + row[2]" v-bind:y="idx * 25 +21"
font-size="20" stroke="black" text-anchor="start" stroke-width="0.5" >{{idx+obj[1]}}</text>
<text v-bind:x="850 - (obj[0] * 10 * 40) + row[2]" v-bind:y="idx * 25 +21"
font-size="20" stroke="black" text-anchor="start" stroke-width="0.5" >{{row[0]}}</text>
<template v-for="no in row[1] - row[0] + 1">
<circle r=10 v-bind:cx="550 - (obj[0] * no * 15) - row[2]" v-bind:cy="idx * 25 + 15"
v-on:click="circleClick(i, idx, no)"
v-bind:class="{'active': circles[i][3][idx][3][no]}"></circle>
</template>
<text v-bind:x="550 - (1 * 30) + 25 - row[2]" v-bind:y="idx * 25 +21"
font-size="20" stroke="black" text-anchor="start" stroke-width="0.5" >{{row[1]}}</text>
</template>
</template>
</svg>
<div>
<h3>回転</h3>
<p>{{ rotate }}</p>
<input type="range" max="360" step="90" v-model="rotate">
<h3>拡大・縮小</h3>
<p>{{ scale }}</p>
<input type="range" min="0.5" max="1.5" step="0.1" v-model="scale">
</div>
</div>
<script>
new Vue({
el: "#app",
data: function(){
/*
obj[0] obj[1] obj[2] obj[3] row[0] row[1] row[2] row[3]
[エリアNo, 開始行番号, 終了行番号,
列番号達[開始番号, 終了番号, X座標調整値, 各種席達[状態]]…
]
*/
var circles = [
[ 2, 10,34, [
[101, 111, 4*15, []]
,[101, 111, 4*15, []]
,[101, 111, 4*15, []]
,[101, 112, 3*15, []]
,[101, 112, 3*15, []]
,[101, 112, 3*15, []]
,[101, 112, 3*15, []]
,[101, 112, 3*15, []]
,[101, 112, 3*15, []]
,[101, 113, 2*15, []]
,[101, 113, 2*15, []]
,[101, 113, 2*15, []]
,[101, 113, 2*15, []]
,[101, 113, 2*15, []]
,[101, 113, 2*15, []]
,[101, 114, 1*15, []]
,[101, 114, 1*15, []]
,[101, 114, 1*15, []]
,[101, 114, 1*15, []]
,[101, 114, 1*15, []]
,[101, 114, 1*15, []]
,[101, 115, 0, []]
,[101, 115, 0, []]
,[101, 115, 0, []]
,[101, 115, 0, []]
]
]
];
// row[3]の配列を初期化 円に紐づく必要なデータを管理
for(var i = 0; i < circles.length; i++) {
var obj = circles[i];
for(var idx = 0; idx < obj[3].length; idx++) {
for(var idx2 = 0; idx2 <= obj[3][idx][1] - obj[3][idx][0] + 1; idx2++) {
(obj[3][idx][3]).push(false);
}
}
}
return {
circles : circles,
rotate: 0,
scale: 1
}
}
, methods : {
circleClick : function (i, idx, no) {
console.log("circleClick");
//this.circles[i][3][idx][3][no] = !this.circles[i][3][idx][3][no];
this.$set(this.circles[i][3][idx][3], no, !this.circles[i][3][idx][3][no]);
}
}
})
</script>
</body>
</html>
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
続きを見る
|
00249
IEAuto 2018新機能の整理
登録日:2018/09/08 11:58:50
更新日:2018/09/08 11:58:50
IEAuto 2018新機能
1.フレーム対応の強化
タイプinitを追加することにより、画面遷移時に、途中からフレームに切り替わる画面にも対応。
2.BUTTONタグへの対応
3.確認ダイアログ、アラートダイアログのIE11対応
4.linkタイプの定義の仕様変更
・4つめのリンクをクリックする場合は、値に、3,clickを指定。※インデックスベースなので位置が毎回変わる場合はURLを手入力で定義する。
・hrefはjavascript:void(0)のリンクタグ定義のサポート
5.ConfirmタイプはデフォルトでOKを定義。(いいえはNOを定義する)
6.sleepタイプはデフォルトで1000を定義。(停止時間はミリ秒で指定)
7.ボタン一覧ダイアログでボタン名を選択するとブラウザのボタンに水色の枠を描画するように修正。
8.FORMタグに属さないボタンは、ボタンタグ、インプットタグのインデックスでアクセスするように対応
9.タイプにJavaScriptが定義できるようになりました。(jQueryを無理やり埋め込むことも可能。ヘルプ.txt参照)
10.オフィス64bit対応。
11.ファイルをフォルダで管理できるように修正。
12.IE7以前(IE7エミュレート含む)は、サポート対象外。(エラーで停止しないようには心がけてますが・・・)
13.付録にChromeAutoを添付。(SeleniumBasicを使用しているので、外部ライブラリなどセットアップ必要)
|
00248
IEAuto 2018 0.9.4_beta
登録日:2018/09/07 0:32:30
更新日:2018/09/07 0:32:48
IE7 エミュレートのサイトだと異常終了してしまうのを修正 ※制限つき
制限事項
※changeイベントのエミュレートはIE7用サイトでは機能しない。
※JqueryUIのdiv.ui-widget-overlayのwait判断は機能しない。
|
00247
IEAuto 2018 0.9.2_beta
登録日:2018/08/10 22:02:30
更新日:2018/08/10 22:02:30
自動操作中のプリントスクリーンに不具合があるのを修正。
|
00246
IEAuto 2018 0.9.1_beta
登録日:2018/08/10 1:46:11
更新日:2018/08/10 1:46:11
◆ver0.9.1
jQuery UIで div.ui-widget-overlay が定義されたとき待つように修正。
一部のフレームワークでajaxの実行タイミングに上記定義がされていた場合、待機するようになります。
|
00245
Javascript querySelector
登録日:2018/08/08 0:28:54
更新日:2018/08/08 1:14:03
( ..)φメモメモ
javascript:alert(document.querySelector("body > div.ui-widget-overlay") != null)
非同期中(ajax処理中)のみjQuery UIのui-widget-overlayを使用して画面を操作できないようにしているフレームワークの場合のブラウザ自動操作時の待機手段。クライアントのJSの処理後にui-widget-overlayが解除されるなら問題なくうごきそう。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
// 呪文
javascript: var ivl = setInterval(function() {if(document.querySelector(
"body > div.ui-widget-overlay") != null){ console.log("wait"); } else { clearInterval(ivl); }}, 1000)
// 呪文改行
javascript:
var ivl = setInterval(
function() {
if(document.querySelector("body > div.ui-widget-overlay") != null){
console.log("wait");
} else {
clearInterval(ivl); }
}, 1000
)
|
参考URL
http://codaholic.org/?p=1485
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
続きを見る
|
00244
javascript querySelector
登録日:2018/08/07 8:03:04
更新日:2018/08/07 8:22:10
IEAutoでタイプにscriptを選択し値にquerySelectorか関数を記述すればセレクターでアクセスできる。
孫関係
document.querySelector('#login-form input[type="text"]').value = "aafffffa";
document.querySelector('#login-form input[type="password"]').value = "aaa";
親子関係
document.querySelector('#login-form > form > input[type="text"]:nth-child(5)').value = "affa";
document.querySelector('#login-form > form > input[type="password"]').value = "ddd";
IDは#
クラス名は.
タグは何もつけない
属性は[type="password"]こんな感じ
|
00243
DELETE/INSERT 作成マクロ
登録日:2018/08/06 8:05:22
更新日:2018/08/06 8:05:22
昔の資産を発掘したのでアップ。
使い方はマクロ読んで。
たぶん動く…
DELETE/INSERT 作成マクロ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
Attribute VB_Name = "MakeSql"
Option Explicit
Private Type TableInfo
ColNm As String
IsKey As Boolean
End Type
'SQLの生成を行います。
Public Sub SubMakeSql()
If MsgBox("実行しますか?", vbYesNo, "確認メッセージ") = vbNo Then Exit Sub
'シートチェック
On Error GoTo Exception
Dim sheetNm As String
sheetNm = "Sheet1"
Worksheets(sheetNm).Activate
sheetNm = "Sheet2"
Worksheets(sheetNm).Activate
GoTo Finally
Exception:
Call Throw(1001, "SubMakeSql", "シート名:" & sheetNm & "が存在しないため実行できません。")
Finally:
Dim row As Long
Dim col As Long
Dim tblNm As String
Dim arrCol(256) As TableInfo
Dim colCnt As Long
Dim outRow As Long
outRow = 1
Worksheets("Sheet2").Activate
Cells.Select
Selection.WrapText = False
Selection.ClearContents
Worksheets("Sheet1").Activate
For row = 1 To 20000
If Cells(row, 1).Value = "テーブル名" Then
tblNm = Split(Cells(row, 2).Value, "(")(0)
For col = 2 To 256
arrCol(col).ColNm = Cells(row + 3, col).Value
arrCol(col).IsKey = (Cells(row + 3, col).Font.Underline = xlUnderlineStyleSingle)
If Cells(row + 3, col).Value = "" Then
colCnt = col - 1
Exit For
End If
Next
End If
If Cells(row, 1).Value = "INS" Then
Dim sqlInsCol As String
Dim sqlInsVal As String
Dim sqlDel As String
sqlInsCol = "INSERT INTO " & tblNm & "("
For col = 2 To colCnt
If col > 2 Then
sqlInsCol = sqlInsCol & ", "
End If
sqlInsCol = sqlInsCol & arrCol(col).ColNm
Next
sqlInsCol = sqlInsCol & ")"
sqlInsVal = "VALUES ("
sqlDel = ""
Dim isFirstAnd As Boolean
isFirstAnd = True
For col = 2 To colCnt
If col > 2 Then
sqlInsVal = sqlInsVal & ", "
End If
sqlInsVal = sqlInsVal & "'" & Cells(row, col).Value & "'"
If arrCol(col).IsKey Then
If isFirstAnd Then
isFirstAnd = False
sqlDel = "DELETE FROM " & tblNm & " WHERE "
Else
sqlDel = sqlDel & " AND "
End If
If Cells(row, col).Value = "" Then
sqlDel = sqlDel & arrCol(col).ColNm & " IS NULL"
Else
sqlDel = sqlDel & arrCol(col).ColNm & " = " & "'" & Cells(row, col).Value & "'"
End If
End If
Next
sqlInsVal = sqlInsVal & ");"
If sqlDel <> "" Then
sqlDel = sqlDel & ";"
End If
Worksheets("Sheet2").Activate
Cells(outRow, 1).Value = sqlDel
outRow = outRow + 1
Cells(outRow, 1).Value = sqlInsCol
outRow = outRow + 1
Cells(outRow, 1).Value = sqlInsVal
outRow = outRow + 2
Worksheets("Sheet1").Activate
End If
Next
Worksheets("Sheet2").Activate
Range("A1").Select
End Sub
|
メニュー(アドイン)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
Attribute VB_Name = "SubMenu"
Option Explicit
'
'参考URL:http://www.aa.alpha-net.ne.jp/pcfriend/Excel/MenuBar.htm
'
Dim mySubMenu As CommandBarControl 'マイサブメニュー
'マイサブメニューの作成
Sub MakeSubMenu()
'メニューバーにコマンドボタンを作成する
Dim myMenu As CommandBar
Dim cmdSubMenu As CommandBarControl
'すでにサブメニューがあれば削除する
DelSubMenu
'メニューバーに「ゆーてぃりてぃー」サブメニューを配置する
Set myMenu = Application.CommandBars("worksheet Menu Bar")
Set mySubMenu = myMenu.Controls.Add(Type:=msoControlPopup)
mySubMenu.Caption = "ゆーてぃりてぃー"
'「ゆーてぃりてぃー」サブメニューに「SQL生成」を作成
Set cmdSubMenu = mySubMenu.Controls.Add(Type:=msoControlButton)
cmdSubMenu.Caption = "SQL生成"
'サブメニューでコマンド1を選択したとき cmd1() を呼び出す
cmdSubMenu.OnAction = "BtnMakeSql"
End Sub
'マイサブメニューを削除する
Sub DelSubMenu()
'メニューバーのサブメニューを削除する
On Error Resume Next
mySubMenu.Delete
End Sub
'「メニュー > ゆーてぃりてぃー > SQL生成」イベント
Private Sub BtnMakeSql()
Call SetOffscreenStart
On Error GoTo Catch
Call SubMakeSql
GoTo Finally
Catch:
MsgBox Err.Description, vbCritical, "エラーメッセージ"
GoTo Finally
Finally:
Call SetOffscreenStop
End Sub
|
ゆーてぃるモジュール
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
Attribute VB_Name = "Util"
'再計算および再描画を無効にする
Public Sub SetOffscreenStart()
Application.Cursor = xlWait
Application.StatusBar = "処理中..."
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
End Sub
'再計算および再描画の無効を止める
Public Sub SetOffscreenStop()
Application.Cursor = xlDefault
Application.StatusBar = ""
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
'Errが存在する場合Trueを返却します。
Function IsException() As Boolean
IsException = Err.Number <> 0
End Function
'現在保持されているErrを投げます。
Sub DefaultThrow()
Err.Raise Err.Number, Err.Source, Err.Description
End Sub
'パラメータを元にErrを投げます。
Sub Throw(ByVal errNumber As Integer, ByVal errSource As String, ByVal errDescription As String)
Err.Raise errNumber, errSource, errDescription
End Sub
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
続きを見る
|
00242
IEAuto 2018 0.9.0_beta
登録日:2018/08/05 23:27:19
更新日:2018/08/05 23:27:19
formitemフォルダ配下で自由にフォルダを作成できるように修正。
画面(シート)に対し以下仕様変更を行いました。
・項目取得シートには、パスをセットするドロップダウンを新たに設けました。
・自動操作シートには、パスをセットできるようにパス列をもうけました。
※元々、タイトル列だった列が、パス列とファイル列に置き換わりました。
従来通り使用する場合は、パスに何も値を入れずに使用すれば従来通り動きます。
|
|