カテゴリー
SugiBlog ホームページ制作・システム開発|大阪

リモートデスクトップ接続で音声入力できないとき

Windowsのリモートデスクトップ接続でデバイスの共有設定でサウンドに関するデバイスを有効にしているのに
リモートデスクトップ側で見ると「入力デバイスが見つかりません」となるとき。
レジストリエディタで以下のキーの値を変更すれば解消できる場合があります。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp

ここにあるfDisableAudioCaptureの値を1から0に変更

0
25 views

ファイルを添付してメール送信3

PHPのmb_send_mail関数でファイルを添付してメールを送信するスクリプト

$to   = "mailto@example.jp";
$from = "mailfrom@example.jp";

$subject  = "件名";

$mailbody = "メール本文\n";

$boundary = md5(uniqid(rand())); //バウンダリー文字(パートの境界)


$header = "From: $to\n"
        . "Reply-To: $from\n"
        . "X-Mailer: PHP/".phpversion()."\n"
        . "MIME-version: 1.0\n"
        . "Content-Type: multipart/mixed;\n"
        . "\tboundary=\"$boundary\"\n";

$msg = "This is a multi-part message in MIME format.\n\n"
     . "--$boundary\n"
     . "Content-Type: text/plain; charset=iso-2022-jp\n"
     . "Content-Transfer-Encoding: 7bit\n\n"

     . $mailbody."\n"

     . "\n";


// 画像(upfileという名前でアップロードされたとする)
if($_FILES["upfile"]["error"] == UPLOAD_ERR_OK) {

    $tmp   = $_FILES["upfile"]["tmp_name"];
    $name  = $_FILES["upfile"]["name"];
    $size  = $_FILES["upfile"]["size"];

    $array = explode(".", $name);
    $nr    = @count($array);
    $ext   = $array[$nr - 1];

    $name  = date("U").".".$ext;

    $fp = fopen($tmp, "r");
    $contents = fread($fp, filesize($tmp));
    fclose($fp);
    $f_encoded = chunk_split(base64_encode($contents)); //エンコード

    $msg .= "--$boundary\n"
         . "Content-Type: application/octet-stream;\n"
         . "\tname=\"$name\"\n"
         . "Content-Transfer-Encoding: base64\n"
         . "Content-Disposition: attachment;\n"
         . "\tfilename=\"$name\"\n\n"
         . "$f_encoded\n"
         . "\n";

} //[end if]


// language establish
mb_language("ja");

// original encoding
$orgEncoding = mb_internal_encoding();

// specify internal encoding
mb_internal_encoding("utf-8") ;


//メール送信
if(!mb_send_mail($mailto, $subject, $msg, $header)) {
    echo "メールの送信に失敗しました。";
}

// internal encoding take back
mb_internal_encoding($orgEncoding);
0
61 views

メールアドレスをチェックする正規表現パターン

完全なメモ書きです。

^[a-zA-Z0-9]+[a-zA-Z0-9\._-]*@[a-zA-Z0-9_-]+\.[a-zA-Z0-9\._-]+$
0
88 views

Micosoft Office Accessのファイルが壊れる

Windows7のサポートが終了して7ヶ月が経ちました。
皆さんはWindows10への移行はお済みでしょうか?

私も公私共にWindowsを利用しており、Windows10でほぼ問題なく使用出来ているのですが、一つだけ問題があります。
それはOfficeのAccessで作成しているデータベースファイルが壊れるということです。

壊れるといってもそのファイルが使えなくなるわけではありません。
データベースの内容に矛盾が生じ、修復の作業が必要になってしまうわけです。
データベースでは常に最適化する作業が必要になってくるのは当たり前なのですが、最近この状況が頻繁に発生するようになってしまいました。

ちなみにこのようなメッセージが表示されます。

初めは[Accessで発生するメモリー不足エラー]で紹介した事象が起こっていました。
解決したようにも思えましたが、しばらくすると壊れるようになってきました。
そしてその頻度も日を追うごとに頻繁に起こるように…。

それを解消するために色々とやってみました。
続きを読む…»

0
209 views

VBで指定した日の曜日が月のうち何回目かを調べる

今回は、「今日は第何○曜日か知りたい」という時に使えるプログラムを紹介します。
今日が金曜日だと仮定して、今月のうち何回目の金曜日かを知りたい時に使います。

2つの日時の間隔を返すDateDiff関数を使って結果を求めます。

まずDateDiffの第1引数には「ww」を指定し、週の開始曜日をカウントの基準に設定します。
そして第3引数である“週の開始曜日”に調べたい日の曜日を入力することによってその曜日が月のうち何回目なのかを取得することができます。

ソースは次のようになります。

Dim year As Integer
Dim mon  As Integer
Dim day  As Integer
Dim ww   As Integer

year = 2020
mon = 7
day = 10

ww = DateDiff("ww", DateSerial(year, mon, 0), _
    DateSerial(year, mon, day), _
    Weekday(DateSerial(year, mon, day)))

Debug.Print ww & "回目"

出力結果は

2回目

となります。
続きを読む…»

1+
211 views

Windows10が起動できなくなったのでMBRの作成

Windows10でMBRが無くて起動できないパターンに陥ってしまったので解消した方法をご紹介します。
 
まずその経緯をご説明します。
Windows7を使っていて、プライマリのSSDがいっぱいになったので新しいSSDを買いました。
そのSSDにまたWindows7をインストール。
 
念のため、元のSSDはSATAの3番目に接続して保管している状態に。(セカンダリはHDD)
 
しばらくしてOSをWindows10にアップグレードしました。
10ではDVDが再生できない等の問題もあって元のSSDを残したまま使っていたのですが、10でDVD再生できるフリーソフトを見つけたので、これを機にWindows7のSSDは外付け用にして利用しようと考えました。
 
で、SSDをフォーマットして取り外し。
Windows10がちゃんと起動できるか試したところ…、起動しない!という事態になってしまったのです。
 
ちゃんと起動するか確認してからフォーマットすれば良かったのですが、デュアルブートになってしまっていると思っていなかったのです。
おそらく初めにSSDを買い換えた時に、3番目に元のSSDを繋いだままWindows7をインストールしてしまっていたのでしょう。
新しいSSDにはMBRが作成されず、元のSSDのMBRを利用して起動するようになってしまっていたということになります。
続きを読む…»

0
253 views

すぐできるテレワーク環境構築

新型コロナウイルス感染拡大に伴い、日本政府から「緊急事態宣言」が発令されて、
一般家庭だけでなく、企業においてもテレワークを推奨され、早急な対応が要求されています。
 
そこで私がテレワーク環境を構築した手順をご紹介したいと思います。
テレワーク環境構築の参考になれば幸いです。
 
構築した環境の要点は以下の2点です。
 
1.社外から社内ネットワークへVPNで接続する
2.VPNで接続できたら社内にあるPCにリモートで接続し操作する
 
まず、VPN環境を構築するために「ソフトイーサ株式会社」と「筑波大学」との共同研究により開発されている研究プロジェクト「SoftEther VPN」を利用させていただきました。
※VPNとはVirtual Private Networkの略で仮想的に外部ネットワークに接続するというものです。
 
SoftEther VPN プロジェクト – https://ja.softether.org/

続きを読む…»

0
356 views

Chr関数で表現する制御文字

vbCrLfやvbTabなど、定数が使用できないときにChr関数を使って表現します。

Chr関数の書式

Chr([ASCIIコード])
定数 Chr関数での表記
vbTab Chr(9) タブ
vbCr Chr(13) キャリッジリターン
vbLf Chr(10) ラインフィード
vbCrLf Chr(13) & Chr(10) キャリッジリターン+ラインフィード

ACCESSのクエリでは定数が使用できないので、知っておくと便利です。

0
262 views

ローディング画像を作成してくれるサービス

Ajaxload – Ajax loading gif generator

SpinKit | Simple CSS Spinners

Single Element CSS Spinners

CSS Load.net

loading.io

0
258 views

Accessで発生するメモリー不足エラー

Accessで「メモリー不足です」という正体不明のエラーが出て困っています。
使用環境はWindows10 Pro 64bit、Access2016・2013です。

これまでも平常通り行ってきた業務をしていたら、上記のように「メモリー不足です」というエラーが発生し、データ元のAccessファイルが壊れてしまうという現象が発生しました。
原因としては多々あるようですが、原因の1つとして分かったことがあったので共有させていただければと思います。

原因の究明

まず、エラーが出るPCと出ないPCがあること。
出るPCと出ないPCの差を見つける。

発見した原因

積んでいるメモリーの差
エラーが出るPC、出ないPCの差を見たところ、OSはどちらもWindows10 Pro 64bit、CPU等も特に目立った違いがない。
記事の最後にリンクを貼っているMicrosoftのページにあるレジストリの値も全て同じ設定でした。
その他で唯一違ったのが積んでいるメモリー容量で32GBと16GBでした。

エラー解消…ではない

先ほど見つけたのがメモリーの違いということで、エラーが発生するPCの32GBのメモリーを16GBに変更しました。
すると明らかにエラーの発生する頻度が激減!

ただし、激減なので全く出なくなったわけではありません。
完全に解消したいとことなのですが、エラーが出ないPCもあるため、原因の究明はかなり難しいものと思われます。

下記URLも参考にさせて頂いたので、同じように悩まれている方がいらっしゃれば参考にしていただければ幸いです。

参考URL:
Access2010およびAccess2019で謎にエラー、「メモリ不足」でクエリー停止、ちょっとだけ解決
Access でメモリ不足エラーが発生する現象の対処策について

0
340 views