FastCopyを使用してのバックアップ
おぼえがき
FastCopyを使用してバックアップをするときいつもヘルプを確認したりと世話しないので。
Dドライブにあるフォルダ、ファイルを全てEドライブにコピーする。
Source: D:\* DestDir: E:\
AフォルダごとEドライブにコピーする。
EドライブにAフォルダが作成される。
Source: D:\Aフォルダ\ DestDir: E:\
Aフォルダの中身をEドライブにコピーする。
EドライブにAフォルダは作成されない。
Source: D:\Aフォルダ\* DestDir: E:\
Office 2019のオフラインインストール用のbatファイルを作成
ローカルネットワークのパソコンに、ボリュームライセンスで購入したOffice Standard 2019をオフラインでインストールすることになった。
誰でも出来るようにということで、オフラインインストール用のDVDメディアを作成した。
オフラインでのインストール準備に必要なファイルは前の記事を見てください。
ボリュームライセンスによるExcel 2019 単体のオフラインインストール
オフラインインストール用データのダウンロード
32ビット/64ビットの両方をダウンロードした。
・configuration-x86.xml (32ビット版)
<Configuration> <Add SourcePath="C:\Office2019\Download_x86" OfficeClientEdition="32" Channel="PerpetualVL2019"> <Product ID="Standard2019Volume"> <Language ID="ja-jp" /> </Product> </Add> </Configuration>
・configuration-x64.xml (64ビット版)
<Configuration> <Add SourcePath="C:\Office2019\Download_x64" OfficeClientEdition="64" Channel="PerpetualVL2019"> <Product ID="Standard2019Volume"> <Language ID="ja-jp" /> </Product> </Add> </Configuration>
コマンドプロンプトから次を実行
setup /download configuration-x86.xml setup /download configuration-x64.xml
これで、次のフォルダに32ビット/64ビットのデータがダウンロードできる。
C:\Office2019\Download_x86
C:\Office2019\Download_x64
インストーラーファイルの作成
次の2つのファイルを作成する。(シフトJISで作成する)
・configuration-template.xml
・Office_Setup.bat
configuration-template.xml
<Configuration> <Add SourcePath="$SourcePath$" OfficeClientEdition="$OfficeClientEdition$" Channel="PerpetualVL2019"> <Product ID="Standard2019Volume"> <Language ID="ja-jp" /> </Product> </Add> </Configuration>
Office_Setup.bat
rem Office 2019 のオフラインインストールを実行します。 rem DVDメディア等にオフラインデータを書き込んでいることを想定しています。 @echo off cls :SELECTED_BITS echo. echo インストールをする Office のバージョンを入力してください。 echo. echo 1:32ビット版 echo 2:64ビット版 echo. set /P InstalledBits="インストールをするバージョンは?:" rem 構成ファイルのテンプレートのパス set TemplatePath=%~dp0configuration-template.xml rem Tempフォルダに出力した構成ファイルののパス set ConfigurationPath=%temp%\configuration.xml rem 構成ファイルのパラメータ if %InstalledBits%==1 goto SELECTED_32BIT if %InstalledBits%==2 goto SELECTED_64BIT goto SELECTED_ERROR rem 32ビット版を選択 :SELECTED_32BIT set SourcePath=%~dp0Download_x86 set OfficeClientEdition=32 goto INSTALL rem 64ビット版を選択 :SELECTED_64BIT set SourcePath=%~dp0Download_x64 set OfficeClientEdition=64 goto INSTALL rem 入力の間違い :SELECTED_ERROR echo. echo. echo 1 または 2 を入力してください。 echo. pause cls goto SELECTED_BITS :INSTALL rem 既に構成ファイルがあれば削除 if exist %ConfigurationPath% del %ConfigurationPath% rem テンプレートを読み込みパラメータを置き換えて rem Tempフォルダに構成ファイルを出力する。 setlocal enabledelayedexpansion for /f "delims=" %%a in (%TemplatePath%) do ( set line0=%%a set line1=!line0:$SourcePath$=%SourcePath%! set line2=!line1:$OfficeClientEdition$=%OfficeClientEdition%! echo !line2!>>%ConfigurationPath% ) endlocal rem setup.exeを実行 start %~dp0setup.exe /configure %ConfigurationPath% :END
DVDメディア(USBメモリ)へデータの書き込み
次のフォルダ、ファイルをメディアに書き込む。
・Download_x86 のフォルダ
・Download_x64 のフォルダ
・setup.exe
・Office_Setup.bat
・configuration-template.xml
Office のインストール
DVDメディア(USBメモリ)に書き込まれた、Office_Setup.bat を実行します。
インストールをするバージョン(32ビット/64ビット)を選択してEnterキーを押すとオフラインでのインストールが始まります。
やってることの説明とか
configuration-template.xmlに書かれた$SourcePath$や$OfficeClientEdition$をbatファイルで書き換えて、Tempフォルダにconfiguration.xmlとして出力して、setup.exeに、この出力したxmlを渡して実行している。
Edge仕様のWebBrowserコントロール(WebView)
WebBrowserコントロールを使うとIE仕様になってしまい、サイトによってはJavaScriptが動かなかったりします。
そこで、WebBrowserコントロール(IE)ではなく、WebViewコントロール(Edge)を使用します。
実行環境が決まってるようで、このバージョン以降が必要のようです。
- Windows 10 1803
- Visual Studio 2017
- .NET Framework 4.6.2
Visual Studio 2017 を起動し、NuGet から次のパッケージをインストールします。
この文字列で検索すると見つかります。
「Microsoft.Toolkit.Forms.UI.Controls.WebView」
ツールボックスの「アイテムの選択」から「.NET Framework コンポーネント」タブを開き次のパスのdllを参照から開きます。
C:\Users\<ユーザー名>\.nuget\packages\microsoft.toolkit.forms.ui.controls.webview\5.1.1\lib\net462\Microsoft.Toolkit.Forms.UI.Controls.WebView.dll
あとは、ツールボックスからWebViewコントロールをフォームに張り付けて完成。
フォームを開くとユーザーIDとパスワードが入力されてログインしたいときのサンプルプログラム
Imports Microsoft.Toolkit.Win32.UI.Controls.Interop.WinRT Public Class frmMain Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load WebView1.Navigate("https://www.example.com/login.html") End Sub Private Sub WebView1_NavigationCompleted(sender As Object, e As WebViewControlNavigationCompletedEventArgs) Handles WebView1.NavigationCompleted If WebView1.DocumentTitle = "ログイン画面" Then Dim script As New System.Text.StringBuilder 'ユーザーID uuuuu を入力 script.AppendLine(String.Format("document.getElementsByName('UserId').item(0).value = '{0}';", "uuuuu")) 'パスワード ppppp を入力 script.AppendLine(String.Format("document.getElementsByName('Password').item(0).value = '{0}';", "ppppp")) WebView1.InvokeScript("eval", script.ToString()) 'ログインボタンを探してクリック script.Clear() script.AppendLine("for (i in document.getElementsByTagName('input')) {") script.AppendLine(" if (document.getElementsByTagName('input').item(i).value === 'ログイン') {") script.AppendLine(" document.getElementsByTagName('input').item(i).click();") script.AppendLine(" }") script.AppendLine("}") WebView1.InvokeScript("eval", script.ToString()) End If End Sub End Class
WebBrowserコントロールにあったDocumentプロパティが見当たらなくてinputタグにどうやって値を入れるの?と、だいぶ困った。
WebViewコントロールはJavaScriptでhtmlを操作するようだ。
参考URL: WPFやWindowsフォームでEdgeのWebViewを使うには?[Windows 10 1803以降]:.NET TIPS - @IT
参考URL: 【C#】WebBrowserコントロールをEdgeに対応させる | 思い立ったが吉日
さらにメモ
Chromium仕様のブラウザコントロール(CefSharp)もあるみたい。
参考URL: WinFormsでChromiumブラウザコンポーネント(CefSharp)を使ってみる
参考URL: VB.net(WinForms)でのCefsharpの基本的な扱い方について
SQL Server 2017のメンテナンスプランで「エラー: 18456」が出る
Windows 10 Pro で SQL Server 2017 Standard を動かしている。
DBの自動バックアップを行うためにメンテナンスプランを作成した。
DBの自動バックアップは正常に完了し、バックアップファイルは出来ているが SQL Server のエラーログに次の内容が残っていた。
Login failed for user 'sa'. 理由: パスワードが、指定されたログインのパスワードと一致しませんでした。 [クライアント: <local machine>]
エラー: 18456、重大度: 14、状態: 8。
- SQL Server Management Studio (SSMS) 17.9.1 を使用してメンテナンスプランを作成した。
- SQL Server 認証モードと Windows 認証モードに設定している。
- SSMS で接続するユーザーは sa を使用している。
SQL Server のバグっぽい?という情報もありますが、Windows 認証モードに設定すると直るようです。
SQL Server 認証モードで使いたいのに!
参考URL: Windows2016&SQLSERVER2016メンテナンスプランでエラー18456、重大度:14、状態:8。が出て実行できません。
参考URL: Windows Server 2012 R2-SQLServer 2016 SP1のsaによるメンテナンスプランバックアップにて エラー: 18456発生
参考URL: Maintenance plan - Login failed for user 'sa' on master database
DataGridViewのセルで右寄せにしたときの余白を設定する
DataGridViewのセルに数値データを右寄せで表示したとき、右端に行き過ぎて何となくいやだなと思ったので、セルの余白調整方法を調べた。
dgv.Columns("ITEM_VALUE").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight dgv.Columns("ITEM_VALUE").DefaultCellStyle.Padding = New Padding(0, 0, 20, 0)
右の余白を20に設定したら次のようになった。
VMwareにWindows Server 2016(評価版)をインストールできない
VMware PlayerにWindows Server 2016(評価版)をインストールしようとしたらエラーが出たので対処したときのメモ。
インストールは「後からOSをインストール」にしている。
エラーは次のが出た。
unsuccessful
→ EFI Network
ボリュームライセンスによるExcel 2019 単体のオフラインインストール
ボリュームライセンスでExcel 2019のみを購入し、オフラインでインストールしたときのメモ。
オンラインでのインストールを一番下に追記。
インストーラー用batファイルの作成を別記事に追加。
Office 2019からISOのダウンロードがなく、オンラインでインストールするのみになっています。
1.VLSCからExcel 2019のダウンロードでOffice 2019 Deployment ToolのEXEをダウンロードする。
2.ダウンロード後、EXEを実行して展開先に適当なフォルダ("D:\Excel2019")を指定する。
展開先のフォルダにはsetup.exeとサンプルのxmlがある。
3.展開先のフォルダに"configuration.xml"を作成する。
SourcePathはダウンロードしたファイルを保存するフォルダを指定
ファイルの内容は、Excel 2019 32ビット版の日本語です。
<Configuration> <Add SourcePath="D:\Excel2019\Download" OfficeClientEdition="32" Channel="PerpetualVL2019"> <Product ID="Excel2019Volume"> <Language ID="ja-jp" /> </Product> </Add> </Configuration>
4.コマンドプロンプトを管理者で実行し、setup.exe(展開先にある)のフォルダに移動して次のコマンドを実行する。
setup /download configuration.xml
ダウンロード中の進捗メータは表示されないので、コマンドが終わるまで待つ。
5.ダウンロードが終われば、"D:\Excel2019"のフォルダごと、USBメモリ等にコピーする。
6.インストールのためにSourcePathのフォルダを書き換える
<Configuration> <Add SourcePath="E:\Excel2019\Download" OfficeClientEdition="32" Channel="PerpetualVL2019"> <Product ID="Excel2019Volume"> <Language ID="ja-jp" /> </Product> </Add> </Configuration>
7.コマンドプロンプトを管理者で実行し、setup.exeのフォルダに移動して次のコマンドを実行する。
setup /configure configuration.xml
8.いつものExcelのインストールとあとは同じ。
参考URL:Excel2019の単体ダウンロードについて
参考URL:Excel展開ツールのConfiguration.xml編集について
参考URL:導入 Office 2019 (IT プロフェッショナル向け)
参考URL:Office 展開ツールのオプションの構成
参考URL:Office 展開ツールでサポートされる製品 ID
オンライン インストール
1.2.までは同じです。
3.展開先のフォルダに"configuration.xml"を作成する。
ファイルの内容は、Excel 2019 32ビット版の日本語です。
<Configuration> <Add OfficeClientEdition="32" Channel="PerpetualVL2019"> <Product ID="Excel2019Volume"> <Language ID="ja-jp" /> </Product> </Add> </Configuration>
4.コマンドプロンプトを管理者で実行し、setup.exeのフォルダに移動して次のコマンドを実行する。
setup /configure configuration.xml
5.いつものExcelのインストールとあとは同じ。