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

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

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

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

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

0
25 views

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

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

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

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

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

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

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

0
210 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

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

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
341 views

HTMLソースを取得する VisualC#

System.Net.WebClientクラスを使用してHTMLソースを取得します。

//参照を追加
using System.Net;

・単純なダウンロード

//WebClientの作成
WebClient wc = new WebClient();

//文字コードを指定(Shift_JIS)
wc.Encoding = Encoding.GetEncoding(932);

//HTMLソースをダウンロードする
string source = wc.DownloadString(url);

//後始末
wc.Dispose();

・Timeout設定ができるようにするには

//文字コードを指定(Shift_JIS)
Encoding enc = Encoding.GetEncoding(932);

HttpWebRequest req =
    (HttpWebRequest)WebRequest.Create(url);

req.Timeout = 3000;

WebResponse res = req.GetResponse();

//文字コードを指定(Shift_JIS)し、HTMLソースをダウンロードする
Stream st = res.GetResponseStream();
StreamReader sr = new StreamReader(st, enc);

source = sr.ReadToEnd();

//後始末
sr.Close();
st.Close();

文字コードについてはこちらをご覧ください。
[テキストファイルの読み込みと書き込み]

0
316 views

デスクトップのアイコン名の影を消す

Windows 10でデスクトップのアイコン名の影を消す方法です。
システムのプロパティを開き、[詳細設定]タブの[パフォーマンス]の[設定]をクリックします。
開いた[パフォーマンスオプション]の[視覚効果]タブのチェックボックスリストに
「デスクトップのアイコン名に影を付ける」チェックを外す。

0
340 views

Windows更新プログラムのアンインストール

Windowsの更新プログラムは[コントロールパネル]-[プログラムと機能]-[インストールされた更新プログラムを表示]でアンインストールすることができます。
またコマンドプロンプトからもコマンドでアンインストールできるので、その方法をご紹介したいと思います。

まず、管理者権限にてコマンドプロンプトを起動します。
そして以下のコマンドを入力します。

wusa /unintall /kb:****

****はアンインストールしたい更新プログラムの番号です。
※wusa(wusa.exe)とはWindowsUpdateのスタンドアロンインストーラーです。

ただし、重要な更新プログラムはアンインストールできません。

上記のやり方でアンインストールできない場合があります。
どういった場合かというとネット経由でインストールしたOfficeの場合です。

そのため、何か不具合があってアンインストールしたい更新プログラムがあっても、ネット経由でインストールしたOfficeの場合、KB:****としては適用されていないそうなんです。

ではどうすれば良いのか??
コマンドでOfficeのバージョンをロールバック(ダウングレード)させる必要があります。

例)バージョンを15.0.5163.1000に戻したい。
以下のコマンドを実行します。

cd c:¥Program Files¥Microsoft Office 15¥ClientX86
officec2rclient.exe /update user updatetoversion=15.0.5163.1000

officec2rclient.exeの場所はバージョンによって異なります。
上記の例ではOffice2013の場合です。

0
193 views

Windows10でスタートアップ(起動)に問題発生

Windows10にて、起動時や起動してしばらくするとブルースクリーンが表示されるエラーが発生しました。

エラーの内容は

お使いのPCまたはデバイスは修復する必要があります
必要なファイルが見つからないか、ファイルにエラーがあるため、アプリケーションまたはオペレーティング
システムをロードできませんでした。

というものです。
私が遭遇したのはwinloadに関するエラーでした。

解決方法

スタートから設定を選択。

Windowsの設定画面で[更新とセキュリティ]をクリック

左のメニューから[回復]をクリック

右から「PCの起動をカスタマイズする」のところの[今すぐ再起動]をクリック

「オプションの選択」画面が表示されたら[トラブルシューティング]をクリック

「トラブルシューティング」画面で[詳細オプション]をクリック

「詳細オプション」画面で[自動修復]をクリック
自動修復を試してみます。

自動修復で解決できない場合は[コマンドプロンプト]を実行します。

「コマンドプロンプト」が表示されたら、以下のコマンドを実行します。

X:\windows\system32>bcdboot c:\windows /s c:

「c:\windows」は、Windowsシステムのルートの場所です。「c:」はブートパーティション。

ブートファイルは正常に作成されました。と表示されればOK。
私の場合、これでWindowsの起動に関するエラーが解消しました。

0
214 views