2013年3月4日月曜日

I am superuser


mysql> CREATE USER 'kagen'@'%' IDENTIFIED BY 'kagen';
GRANT ALL PRIVILEGES ON *.* TO 'kagen'@'%';

2013年2月27日水曜日

買った中華パッドにGoogleTalkがないから、困った。
この「com.google.android.talk_142101.apk」を「RootExperor」で/system/appに入れれば済むみたい。

2013年2月17日日曜日

vbaでhtmlの中身を取り出す

Sub test()

    Set sht = Sheets("Sheet1")
    RowCount = 1

    Set objIE = CreateObject("internetexplorer.application")
    With objIE
        .Visible = False
        .navigate "http://www.vbapro.info"
        Do While .Busy Or .readyState <> 4
            DoEvents
        Loop
        For Each ele In .document.all
            Select Case ele.tagName
                Case "DIV":
                    sht.Range("A" & RowCount) = ele.innertext
                    RowCount = RowCount + 1
            End Select
        Next ele
    End With
    Set objIE = Nothing
End Sub

2012年12月18日火曜日

powerpointのアドインppamをdebugする方法

1.Close PPT if it's running
2.In REGEDIT, go to HKCU\Software\Microsoft\Office\xx.0\PowerPoint\Options (where xx.0 is 11.0 for 3.Office 2003, 12.0 for Office 2007, 14.0 for Office 2010)
4.Add DebugAddins a DWORD=1
5.Quit regedit.

thx
http://stackoverflow.com/questions/5129362/powerpoint-2007-2010-vba-ppam-add-in-does-not-show-up-in-vba-editor-when-open

2012年12月14日金曜日

linuxのzipコマンドで特定フォルダーとファイルを除外する

特定フォルダーヤファイルを除外して圧縮するzipコマンドの例です。

zip -r what_ever_you_want.zip ./target_dir/ -x ./target_dir/dont_zip_me_dir\* '*.svn*' '*.tmp'

dont_zip_me_dirフォルダーとSVN関係フォルダーと'*.tmp'を除外したtarget_dirまるごとを圧縮する例です。


解凍先のディレクトリを指定する場合は

unzip what_ever_you_want.zip -d target_dir

2012年12月12日水曜日

ADODB.Commandのパラメータ埋め込みクエリーを出力

ADODB.CommandのCommandTextではクエリーを確認できますが、parameterのところが"?"のまま、直接DBにクエリー投げたいので、いちいち値をセットするのはめんどくさいので、メソッドを作ってみました。

' adArray
' adBigInt
' adBinary
' adBoolean
' adBSTR
' adChapter
' adChar
' adCurrency
' adDate
' adDBDate
' adDBTime
' adDBTimeStamp
' adDecimal
' adDouble
' adEmpty
' adError
' adFileTime
' adGUID
' adIDispatch
' adInteger
' adIUnknown
' adLongVarBinary
' adLongVarChar
' adLongVarWChar
' adNumeric
' adPropVariant
' adSingle
' adSmallInt
' adTinyInt
' adUnsignedBigInt
' adUnsignedInt
' adUnsignedSmallInt
' adUnsignedTinyInt
' adUserDefined
' adVarBinary
' adVarChar
' adVariant
' adVarNumeric
' adVarWChar
' adWChar

Public Function printSql(ByRef cmd As ADODB.Command) As String
Dim p As ADODB.Parameter
Dim vntP As Variant
Dim inti As Integer
Dim strR As String
inti = 1
ReDim vntP(cmd.Parameters.Count)
For Each p In cmd.Parameters
    Select Case p.Type
        'ここはニーズに応じてタイプを追加してください
        Case adInteger
            vntP(inti) = p.Value
        Case Else
            vntP(inti) = "'" & p.Value & "'"
    End Select
    inti = inti + 1
Next
strR = cmd.CommandText
For inti = 1 To UBound(vntP)
    strR = Replace(strR, "?", vntP(inti), 1, 1)
Next
printSql = strR
End Function
使い方
Global cnn As New ADODB.Connection
    Dim cmd As ADODB.Command
    Dim rs As ADODB.Recordset
    Dim param As ADODB.Parameter
    Set cmd = New ADODB.Command

   ' DB接続
    cnn.Open "Provider=SQLOLEDB;" & _
             "Data Source=" & srvName & ";" & _
             "Initial Catalog=" & databaseName & ";", user, pass
    cmd.ActiveConnection = cnn
    cmd.CommandTimeout = 0
    cmd.CommandType = adCmdText
    cmd.CommandText = "SELECT * FROM MyProj WHERE NAME = ? AND Create_at = ? AND hour = ?"

    ' パラメータを作成
    Set param = cmd.CreateParameter("PJNAME", adVarChar, adParamInput, 20)
    cmd.Parameters.Append param
    Set param = cmd.CreateParameter("CREATED", adDBTimeStamp, adParamInput)
    cmd.Parameters.Append param
    Set param = cmd.CreateParameter("HOUR", adInteger, adParamInput)
    cmd.Parameters.Append param

    ' パラメータに値をセット
    cmd.Parameters("PJNAME").Value = "計画A"
    cmd.Parameters("CREATED").Value = "2012-12-01"
    cmd.Parameters("HOUR").Value = 10

    Set rs = New ADODB.Recordset
    rs.CursorLocation = adUseClient
    rs.CursorType = adOpenStatic
    Debug.Print(printSql(cmd)) '⇒ココ
    rs.Open cmd

結果

SELECT * FROM MyProj WHERE NAME = '計画A' AND Create_at = '2012/12/01' AND hour = 10

2012年12月11日火曜日

railsのhelper便利すぎw

counter_partyのview
<%= f.collection_select(:名前, モジュール.find_all_by_列("値"), :列val用, :列disp用) %>
<%= f.collection_select(:CPCategory1, MiscCode.find_all_by_MiCodeKey("Field"), :MiCodeName, :MiCodeName) %>
↓
<select id="counter_party_CPCategory2" name="counter_party[CPCategory2]">
  <option value="顧客">顧客</option>
  <option value="外注先">外注先</option>
  <option value="その他">その他</option>
</select>