時間判定用
Dim nowHHMM nowHHMM = CInt(Format(Now(), "hhmm"))
時間判定用
Dim nowHHMM nowHHMM = CInt(Format(Now(), "hhmm"))
めんどい。もっと簡単なツールが欲しいけど、自分で作るしかないのかな。
もし一般公開したら自分でお金払うことになっちゃうしね。
https://cloud.google.com/text-to-speech/docs/quickstart
まずこの通り進める。
まずGCPにログインし、text-to-speechの課金を有効にする。
(アカウントを持っていない人はこの時つくる。)
チュートリアルとドキュメントのとこにある「API Explorerで試す」を選択
texttospeech.text.synthesize をクリック
fieldsの入力欄の右にある「Use fields editor」というリンクをクリックすると、ポップアップが出るので、"audioContent"にチェックを入れて閉じる。
手探りで以下のように入力。
{ "voice": { "languageCode": "ja" }, "input": { "text": "こんにちは。ぼく、ドラえもんです。" }, "audioConfig": { "audioEncoding": "mp3" } }
「Authorize and execute」ボタンをクリック。
なんかダイアログっぽいのでるけどexecuteしていく。
レスポンスが出るので、"audioContent"の隣の"(ダブルクォーテーション)で囲まれた中身をテキストエディタでローカルに保存。ここではvoice.64.txtにした。
WindowsならDOS窓開いて、以下のようにbase64からmp3バイナリにデコード
certutil -f -decode C:\Users\hogehoge\Desktop\voice.64.txt C:\Users\hogehoge\Desktop\test.mp3
レジストリの指定パス内にある名前と種類を列挙する
WMIというのを使う
Option Explicit 'WMIにて使用する各種オブジェクトを定義・生成する。 Dim oClass Dim oLocator Dim oService Dim oRegName Dim oRegType Dim i Dim sMesStr Dim sTypeStr Const HKEY_LOCAL_MACHINE = &H80000002 'ローカルコンピュータに接続する。 Set oLocator = WScript.CreateObject("WbemScripting.SWbemLocator") Set oService = oLocator.ConnectServer(, "root\default") 'クエリー条件を WQL にて指定する。 Set oClass = oService.Get("StdRegProv") oClass.EnumValues HKEY_LOCAL_MACHINE, _ "SOFTWARE\Microsoft\Windows NT\CurrentVersion", oRegName, oRegType For i = 0 To Ubound(oRegName) Select Case oRegType(i) Case 1 sTypeStr = "REG_SZ" Case 2 sTypeStr = "REG_EXPAND_SZ" Case 3 sTypeStr = "REG_BINARY" Case 4 sTypeStr = "REG_DWORD" Case 7 sTypeStr = "REG_MULTI_SZ" End Select sMesStr = sMesStr & oRegName(i) & " : " & sTypeStr & vbCrLf Next MsgBox "レジストリの値の名前と種類を列挙します。" & vbCrLf & vbCrLf & sMesStr '使用した各種オブジェクトを後片付けする。 Set oClass = Nothing Set oService = Nothing Set oLocator = Nothing
上場祝いの胡蝶蘭を贈るときのマナー
【お祝いの式典・パーティを開催する場合】
贈るタイミング:式典当日の朝
贈り先 :式典会場宛て
【お祝いの式典・パーティを開催しない場合】
贈るタイミング:上場当日
贈り先 :会社宛て
らしい。
int dispx = GetSystemMetrics( SM_CXVIRTUALSCREEN); int dispy = GetSystemMetrics( SM_CYVIRTUALSCREEN);
ここから最新版のsendgrid-phpを取得してきて、ftpでsendgrid-phpというフォルダつくって中身をアップロード
$fromAddrに送信元アドレス、$toAddrに送信先アドレス、$subjectにタイトル、$messに本文が入ってることにする
require("sendgrid-php/sendgrid-php.php"); $email = new \SendGrid\Mail\Mail(); $email->setFrom($fromAddr); $email->setSubject($subject); $email->addTo($toAddr); $email->addContent("text/plain", $mess); $sendgrid = new \SendGrid('APIキーをここに入力'); try { $response = $sendgrid->send($email); } catch (Exception $e) { echo '捕捉した例外: ', $e->getMessage(), "<br>\n"; return -1; }
<?phpの前や?>の後ろに空白や改行があるとこういったエラーが出るとのこと。
オリジナルで作ってたテーマのfunction.phpにある?>の後に合った空の改行を根こそぎ削ったら治った。
PreTranslateMessage()追加して、以下記述
BOOL CXXXDialog::PreTranslateMessage(MSG* pMsg) { if( WM_KEYDOWN == pMsg->message ) { switch( pMsg->wParam ) { case VK_RETURN: return FALSE; case VK_ESCAPE: return FALSE; default: break; } } return CDialog::PreTranslateMessage(pMsg); }
やってみたけど激重。ファイル多いと使いもんにならない。
まずこのコマンドでbatファイルを作成し、batを実行するだけ
加工済のファイル置き場を"#加工済"で作ってあること前提です。
FOR /F %i IN ('dir /b *.csv') DO @ECHO FOR /F "tokens=5,6,7 delims=^," %%a IN (%i) DO @ECHO %%a %%b %%c ^>^> #加工済\%i >> bat.bat
delims=で区切り文字を指定
tokens=で何列目を出力するか指定。
FOR /F "tokens=5,6,7 delims=^," %a IN (%i) DO @ECHO %a %b %c
%a IN で 最初の文字指定して、3つ出力するものがあれば %a %b %cと書く
なので4つ出力するものあるなら
FOR /F "tokens=5,6,7,8 delims=^," %a IN (%i) DO @ECHO %a %b %c %d
と増やすのです。