WordPress へようこそ。こちらは最初の投稿です。編集または削除し、コンテンツ作成を始めてください。
ブログ
-
git 初期設定
VS Code: Git の初期設定を行うには、以下の手順を実行してください。
- Git のインストール確認
ターミナルで以下のコマンドを実行して、Git がインストールされているか確認します。
git --version
インストールされていない場合は、以下のコマンドでインストールします(Debian/Ubuntu 系の場合)。
sudo apt update sudo apt install git
- ユーザー名とメールアドレスの設定
Git を使用する際に必要なユーザー名とメールアドレスを設定します。これらはコミットに使用されます。
git config --global user.name "Your Name" git config --global user.email "your.email@example.com"
- エディターの設定
Git コマンドで使用するデフォルトのエディターを設定します。Visual Studio Code を使用する場合は以下を実行します。
git config --global core.editor "code --wait"
- Git のデフォルトブランチ名の設定
デフォルトのブランチ名を設定します(例:main
)。
git config --global init.defaultBranch main
- SSH キーの生成と設定
GitHub や他のリモートリポジトリにアクセスするために SSH キーを生成します。以下のコマンドを実行します。
ssh-keygen -t rsa -b 4096 -C "your.email@example.com"
生成されたキーをリモートリポジトリに追加します。
- 設定の確認
設定が正しく行われたか確認します。
git config --list
以上で Git の初期設定は完了です。
GitHub Copilot: SSH キーの生成が進行中です。以下の手順を続けてください:
- 保存場所の確認
デフォルトの保存場所/home/shimimane/.ssh/id_rsa
をそのまま使用する場合は、Enter を押してください。別の場所に保存したい場合は、フルパスを入力してください。 - パスフレーズの設定
次に、パスフレーズを入力するよう求められます。セキュリティを強化するためにパスフレーズを設定することを推奨しますが、空のままにしたい場合は Enter を押してください。 - 公開鍵の追加
SSH キーが生成されたら、公開鍵をリモートリポジトリ(例: GitHub)に追加します。以下のコマンドで公開鍵を表示できます。
cat ~/.ssh/id_rsa.pub
公開鍵の内容をコピーして、GitHub の「SSH and GPG keys」設定ページに追加してください。
- 接続確認
SSH 接続が正しく設定されているか確認するには、以下を実行します。
ssh -T git@github.com
GitHub の場合、成功するとメッセージが表示されます。
GitHub Copilot: GitHub のホストの認証を確認するプロセスが進行中です。以下の手順を続けてください:
- 確認
メッセージに対してyes
を入力して Enter を押してください。これにより、GitHub のホストキーがローカルマシンに保存され、次回以降の接続で確認が不要になります。
yes
- 接続確認
正しく接続されると、次のようなメッセージが表示されます(GitHub の場合):
Hi <username>! You've successfully authenticated, but GitHub does not provide shell access.
これで SSH 接続が設定され、GitHub リポジトリにアクセスできるようになります。
shimimane: この認証は pc単位に必要な処理ですか?
GitHub Copilot: はい、SSH 接続の認証はPC単位で必要な処理です。SSH キーはそのPCで生成され、リモートリポジトリ(例: GitHub)に登録されるため、認証はそのPCに固有のものとなります。
具体的には以下の点が重要です:
- PCごとに異なるSSHキー
各PCで生成されたSSHキーは異なるため、別のPCからリモートリポジトリにアクセスする場合は、そのPCでもSSHキーを生成し、リモートリポジトリに登録する必要があります。 - ホストキーの確認
初回接続時にホストキーの確認が必要なのは、そのPCがGitHubのホストを初めて認識するためです。この確認はPCごとに行われます。 - 認証の継続性
一度ホストキーを確認して保存すると、そのPCでは次回以降の接続時に確認は不要になります。
したがって、別のPCでGitHubにアクセスする場合は、同様の手順をそのPCで繰り返す必要があります。
- Git のインストール確認
-
【備忘録】Linux Mint設定手順
shimimane: apache2をインストール
GitHub Copilot: 以下のコマンドを使用して、LinuxでApache2をインストールできます。
sudo apt update sudo apt install apache2 -y
インストール後、Apache2を起動してステータスを確認するには以下を実行してください。
sudo systemctl start apache2 sudo systemctl status apache2
また、Apache2を自動起動に設定するには以下を実行します。
sudo systemctl enable apache2
shimimane: php@latest をインストール
GitHub Copilot: 以下の手順で最新バージョンのPHPをインストールできます。
1. 必要なリポジトリを追加
最新のPHPをインストールするには、
ondrej/php
PPAを追加します。sudo apt update sudo apt install -y software-properties-common sudo add-apt-repository -y ppa:ondrej/php sudo apt update
2. PHPのインストール
最新バージョンのPHPをインストールします。以下のコマンドを実行してください。
sudo apt install -y php
3. バージョン確認
インストールされたPHPのバージョンを確認するには、以下を実行します。
php -v
これで最新バージョンのPHPがインストールされます。
shimimane: mariadb をインストール
GitHub Copilot: 以下の手順でMariaDBをインストールできます。
1. パッケージリストを更新
sudo apt update
2. MariaDBをインストール
sudo apt install -y mariadb-server mariadb-client
3. MariaDBサービスを起動
sudo systemctl start mariadb sudo systemctl enable mariadb
4. セキュリティ設定を実行
MariaDBの初期セキュリティ設定を行うために以下を実行します。
sudo mysql_secure_installation
プロンプトに従って、rootパスワードの設定や不要な機能の無効化を行ってください。
5. MariaDBの動作確認
MariaDBが正しく動作しているか確認するには以下を実行します。
sudo systemctl status mariadb
また、MariaDBにログインするには以下を使用します。
sudo mysql -u root -p
shimimane: rootと同じ権限をもつ
id;dbuser pass:dbpassword
を設定GitHub Copilot: 以下の手順で、MariaDBに
dbuser
というユーザーを作成し、root
と同じ権限を付与します。1. MariaDBにログイン
まず、MariaDBにログインします。
sudo mysql -u root -p
2. ユーザーを作成
以下のコマンドを実行して、
dbuser
というユーザーを作成し、パスワードを設定します。CREATE USER 'dbuser'@'%' IDENTIFIED BY 'dbpassword';
3. 権限を付与
dbuser
にすべての権限を付与します。GRANT ALL PRIVILEGES ON *.* TO 'dbuser'@'%' WITH GRANT OPTION;
4. 権限を適用
権限の変更を適用するために以下を実行します。
FLUSH PRIVILEGES;
5. MariaDBからログアウト
以下を実行してMariaDBからログアウトします。
EXIT;
これで、
dbuser
がroot
と同じ権限を持つようになります。shimimane: phpmyadmin をインストール
GitHub Copilot: 以下の手順でphpMyAdminをインストールできます。
1. パッケージリストを更新
sudo apt update
2. phpMyAdminをインストール
sudo apt install -y phpmyadmin
インストール中に以下の設定を求められる場合があります:
- Webサーバーの選択:
apache2
を選択します。 - dbconfig-commonの使用:
はい
を選択します。 - MySQLアプリケーションパスワードの設定: 任意のパスワードを入力します。
3. Apache2にphpMyAdminを有効化
必要に応じて以下を実行してphpMyAdminをApache2にリンクします。
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
4. Apache2を再起動
sudo systemctl restart apache2
5. phpMyAdminにアクセス
ブラウザで以下のURLにアクセスしてphpMyAdminを開きます:
http://<サーバーのIPアドレス>/phpmyadmin
これでphpMyAdminが利用可能になります。
shimimane: ssh 接続可能に設定
GitHub Copilot: 以下の手順でSSH接続を有効に設定できます。
1. SSHサーバーのインストール
まず、SSHサーバーをインストールします。
sudo apt update sudo apt install -y openssh-server
2. SSHサービスを起動
SSHサービスを起動し、自動起動を有効にします。
sudo systemctl start ssh sudo systemctl enable ssh
3. SSHの動作確認
SSHが正しく動作しているか確認します。
sudo systemctl status ssh
4. ファイアウォールの設定 (必要に応じて)
ファイアウォールを使用している場合、SSH接続を許可します。
sudo ufw allow ssh sudo ufw enable
5. SSH接続テスト
別のマシンから以下のコマンドで接続をテストします。
ssh <ユーザー名>@<サーバーのIPアドレス>
これでSSH接続が可能になります。
shimimane: ssl をインストール
GitHub Copilot: 以下の手順でSSLを設定できます。
1. 必要なパッケージをインストール
まず、SSL証明書を生成するために必要なパッケージをインストールします。
sudo apt update sudo apt install -y openssl
2. SSL証明書を生成
自己署名証明書を生成する場合、以下のコマンドを実行します。
sudo mkdir /etc/ssl/private sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/private/apache-selfsigned.crt
プロンプトに従って情報を入力してください(例: 国名、組織名など)。
3. ApacheでSSLを有効化
ApacheのSSLモジュールを有効化します。
sudo a2enmod ssl sudo systemctl restart apache2
4. SSL設定ファイルを作成または編集
SSLを有効にするために、Apacheの設定ファイルを編集します。以下は例です。
sudo nano /etc/apache2/sites-available/default-ssl.conf
設定例:
<IfModule mod_ssl.c> <VirtualHost _default_:443> ServerAdmin webmaster@localhost DocumentRoot /var/www/html SSLEngine on SSLCertificateFile /etc/ssl/private/apache-selfsigned.crt SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined </VirtualHost> </IfModule>
5. SSLサイトを有効化
SSLサイトを有効化してApacheを再起動します。
sudo a2ensite default-ssl sudo systemctl reload apache2
6. 動作確認
ブラウザで以下のURLにアクセスしてSSLが有効になっているか確認します。
https://<サーバーのIPアドレス>
これでSSLが設定されます。
shimimane: 無料の ssl をインストール
GitHub Copilot: 無料のSSL証明書を利用するには、Let’s Encryptを使用するのが一般的です。以下の手順でLet’s Encryptをインストールして設定できます。
1. Certbotをインストール
CertbotはLet’s Encryptの公式クライアントです。以下のコマンドでインストールします。
sudo apt update sudo apt install -y certbot python3-certbot-apache
2. SSL証明書を取得
以下のコマンドを実行して、Let’s EncryptのSSL証明書を取得します。
sudo certbot --apache
プロンプトに従って設定を進めます:
- メールアドレスを入力して通知を受け取る設定をします。
- 利用規約に同意します。
- HTTPSを有効化するドメインを選択します。
Certbotが自動的にApacheの設定を更新し、SSLを有効化します。
3. 証明書の自動更新を設定
Let’s Encryptの証明書は90日間有効です。自動更新を設定するには以下を確認します。
sudo certbot renew --dry-run
これで証明書の自動更新が正しく設定されているか確認できます。
4. 動作確認
ブラウザで以下のURLにアクセスしてSSLが有効になっているか確認します。
https://<サーバーのドメインまたはIPアドレス>
これで無料のSSL証明書が設定されます。
GitHub Copilot: エラーの原因は、Let’s Encryptが証明書を発行するために有効なドメイン名が必要であることです。
dynabook-mint
は有効なドメイン名ではありません(ドメイン名には少なくとも1つのドットが必要です)。解決方法
- 有効なドメイン名を使用する
Let’s Encryptは公開されたドメイン名に対してのみ証明書を発行します。以下のような有効なドメイン名を使用してください:
- 例:
example.com
、subdomain.example.com
ドメイン名を取得してDNS設定を行う必要があります。
- ローカル環境で自己署名証明書を使用する
ローカル環境でSSLを使用する場合、Let’s Encryptではなく自己署名証明書を生成する方法を検討してください。以下のコマンドで自己署名証明書を生成できます:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/private/apache-selfsigned.crt
その後、Apacheの設定を更新してSSLを有効化します。
- ホスト名を修正する
サーバーがインターネットに公開されている場合、DNS設定で有効なドメイン名をサーバーに関連付けてください。
次のステップ
- 公開ドメインを取得してDNS設定を行う場合、ドメインプロバイダーで設定を行い、再度Certbotを実行してください。
- ローカル環境で自己署名証明書を使用する場合、ブラウザで警告が表示されることがありますが、開発環境では問題ありません。
1. ApacheのSSLモジュールを有効化
まず、ApacheのSSLモジュールを有効化します。
sudo a2enmod ssl sudo systemctl restart apache2
2. SSL設定ファイルを編集
SSLを有効化するために、ApacheのSSL設定ファイルを編集します。
sudo nano /etc/apache2/sites-available/default-ssl.conf
以下の内容を確認または編集してください:
<IfModule mod_ssl.c> <VirtualHost _default_:443> ServerAdmin webmaster@localhost DocumentRoot /var/www/html SSLEngine on SSLCertificateFile /etc/ssl/private/apache-selfsigned.crt SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined </VirtualHost> </IfModule>
保存して終了します。
3. SSLサイトを有効化
SSLサイトを有効化してApacheを再起動します。
sudo a2ensite default-ssl sudo systemctl reload apache2
4. 動作確認
ブラウザで以下のURLにアクセスしてSSLが有効になっているか確認します:
https://localhost
自己署名証明書を使用しているため、ブラウザで警告が表示される場合があります。その場合は「詳細設定」から進むことでアクセスできます。
これでローカル環境でSSLが有効になります。
shimimane: node ver 20 を淫雨トール
GitHub Copilot: 以下の手順でNode.jsのバージョン20をインストールできます。
1. NodeSourceリポジトリを追加
Node.jsの公式リポジトリを追加します。
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
2. Node.jsをインストール
リポジトリを追加した後、Node.jsをインストールします。
sudo apt install -y nodejs
3. インストール確認
インストールされたNode.jsのバージョンを確認します。
node -v
これでNode.js 20がインストールされます。
shimimane: composer インストール
GitHub Copilot: 以下の手順でComposerをインストールできます。
1. 必要な依存関係をインストール
まず、必要な依存関係をインストールします。
sudo apt update sudo apt install -y php-cli unzip curl
2. Composerインストールスクリプトをダウンロード
以下のコマンドでComposerのインストールスクリプトをダウンロードします。
curl -sS https://getcomposer.org/installer | php
3. Composerをシステム全体で利用可能にする
ダウンロードしたComposerをシステム全体で利用できるようにします。
sudo mv composer.phar /usr/local/bin/composer
4. インストール確認
Composerが正しくインストールされたか確認します。
composer --version
これでComposerがインストールされ、使用可能になります。
shimimane: samba インストール
GitHub Copilot: 以下の手順でSambaをインストールして設定できます。
1. Sambaのインストール
まず、Sambaをインストールします。
sudo apt update sudo apt install -y samba
2. Sambaの設定ファイルを編集
Sambaの共有設定を行うために、設定ファイルを編集します。
sudo nano /etc/samba/smb.conf
以下のような共有設定を追加します(例として共有ディレクトリ
/srv/samba/share
を設定):[shared] path = /srv/samba/share browseable = yes writable = yes guest ok = yes read only = no
保存して終了します。
3. 共有ディレクトリを作成
共有ディレクトリを作成し、適切な権限を設定します。
sudo mkdir -p /srv/samba/share sudo chmod 777 /srv/samba/share
4. Sambaサービスを再起動
設定を反映させるためにSambaサービスを再起動します。
sudo systemctl restart smbd sudo systemctl enable smbd
5. 動作確認
別のマシンから以下のコマンドで共有ディレクトリにアクセスできるか確認します。
smbclient //<サーバーのIPアドレス>/shared
これでSambaがインストールされ、共有ディレクトリが設定されます。
shimimane: windwos から
リモートデスクトップで接続できるように設定GitHub Copilot: Windowsからリモートデスクトップ接続を可能にするには、Sambaではなく、Linuxのリモートデスクトッププロトコル(RDP)を使用する必要があります。以下の手順で設定を行います。
1. xrdpをインストール
LinuxでRDPを利用するために、
xrdp
をインストールします。sudo apt update sudo apt install -y xrdp
2. xrdpサービスを起動
インストール後、
xrdp
サービスを起動し、自動起動を有効にします。sudo systemctl start xrdp sudo systemctl enable xrdp
3. ファイアウォールの設定
ファイアウォールを使用している場合、RDP接続を許可します。
sudo ufw allow 3389
4. デスクトップ環境の確認
リモートデスクトップ接続にはデスクトップ環境が必要です。Ubuntuの場合、デスクトップ環境がインストールされていない場合は以下を実行してインストールします。
sudo apt install -y ubuntu-desktop
5. Windowsから接続
- Windowsの「リモートデスクトップ接続」を開きます。
- 接続先にLinuxマシンのIPアドレスを入力します。
- Linuxのユーザー名とパスワードを入力してログインします。
これでWindowsからLinuxにリモートデスクトップ接続が可能になります。
shimimane: linux mint rootと同じ権限の
id:admin pass:1426
woGitHub Copilot: 以下の手順でLinux Mintに
admin
というユーザーを作成し、root
と同じ権限を付与します。
1. ユーザーを作成
以下のコマンドで
admin
ユーザーを作成します。sudo useradd -m -s /bin/bash admin
2. パスワードを設定
admin
ユーザーのパスワードを設定します。echo "admin:1426" | sudo chpasswd
3.
admin
にroot
と同じ権限を付与admin
ユーザーをsudo
グループに追加します。sudo usermod -aG sudo admin
4. 動作確認
admin
ユーザーでログインし、以下のコマンドを実行してsudo
権限が正しく付与されているか確認します。sudo whoami
結果が
root
と表示されれば設定は完了です。これで
admin
ユーザーがroot
と同じ権限を持つようになります。shimimane: admin wo
GitHub Copilot:
shimimane: admin を www-data グループに所属させる
GitHub Copilot: 以下のコマンドを使用して、
admin
ユーザーをwww-data
グループに追加します。sudo usermod -aG www-data admin
これで
admin
ユーザーがwww-data
グループに所属するようになります。変更を反映させるには、admin
ユーザーでログインし直してください。shimimane: 別のlinux pc のデスクトップ環境に接続する手順
GitHub Copilot: 別のLinux PCのデスクトップ環境に接続するには、以下の手順を実行します。
1. 接続先のLinux PCでxrdpを設定
接続先のLinux PCで以下を実行して、リモートデスクトッププロトコル(RDP)を有効化します。
- xrdpをインストール:
sudo apt update sudo apt install -y xrdp
- xrdpサービスを起動:
sudo systemctl start xrdp sudo systemctl enable xrdp
- ファイアウォールでポート3389を許可:
sudo ufw allow 3389
- デスクトップ環境を確認:
デスクトップ環境がインストールされていない場合は以下を実行してインストールします。
sudo apt install -y ubuntu-desktop
2. 接続元のLinux PCでリモートデスクトップクライアントを使用
接続元のLinux PCで以下を実行します。
- Remminaをインストール(一般的なRDPクライアント):
sudo apt update sudo apt install -y remmina
- Remminaを起動:
アプリケーションメニューからRemmina
を起動します。 - 接続設定:
- プロトコル: RDP
- 接続先: 接続先Linux PCのIPアドレス
- ユーザー名: 接続先Linux PCのユーザー名
- パスワード: 接続先Linux PCのパスワード
- 接続:
設定を保存して接続を開始します。
3. Windows PCから接続する場合
Windowsの「リモートデスクトップ接続」を使用して、接続先Linux PCのIPアドレスを入力して接続できます。
これで別のLinux PCのデスクトップ環境に接続できます。
- Webサーバーの選択:
-
Laravelディレクトリの設定手順
## Laravelディレクトリの設定手順
Laravelを正しく動作させるためには、ディレクトリの所有権とパーミッションを適切に設定する必要があります。以下の手順に従って設定してください。
—
### **ステップ1: 所有権の設定**
LaravelプロジェクトのディレクトリをWebサーバー(通常は`www-data`)が所有するように設定します。
#### コマンド:
“`bash
sudo chown -R www-data:www-data /var/www/html/test1
“`
#### 解説:
– `www-data`は、Webサーバー(ApacheやNginx)が使用するユーザーです。
– `-R`オプションは、ディレクトリ内のすべてのファイルとサブディレクトリに対して所有権を変更します。
—
### **ステップ2: パーミッションの設定**
Laravelでは、特定のディレクトリに書き込み権限が必要です。以下のディレクトリに適切なパーミッションを設定します。
#### コマンド:
“`bash
sudo chmod -R 775 /var/www/html/test1/storage
sudo chmod -R 775 /var/www/html/test1/bootstrap/cache
“`
#### 解説:
– storageディレクトリは、ログやセッションデータなどを保存する場所です。
– cacheディレクトリは、Laravelのキャッシュファイルを保存する場所です。
– `775`は、所有者とグループに読み取り・書き込み・実行権限を付与し、その他のユーザーには読み取り・実行権限を付与します。
—
### **ステップ3: Composerのインストール**
Laravelプロジェクトの依存関係をインストールするために、`composer install`を実行します。
#### コマンド:
“`bash
composer install
“`
#### 注意事項:
– エラーが発生した場合、所有権やパーミッションが正しく設定されているか確認してください。
– `unzip`がインストールされていない場合、以下のコマンドでインストールします。
“`bash
sudo apt update
sudo apt install unzip
“`
—
### **ステップ4: キャッシュのクリア**
Laravelのキャッシュが原因で問題が発生することがあります。以下のコマンドでキャッシュをクリアします。
#### コマンド:
“`bash
php artisan cache:clear
php artisan config:clear
php artisan view:clear
php artisan route:clear
“`
#### 解説:
– `php artisan`はLaravelのコマンドラインツールです。
– これらのコマンドは、キャッシュをクリアして最新の設定を反映します。
—
### **ステップ5: Webサーバーの設定**
LaravelプロジェクトをWebサーバーで動作させるために、ApacheやNginxの設定を確認します。
#### Apacheの場合:
“`bash
<VirtualHost *:80>
ServerName your-domain.com
DocumentRoot /var/www/html/test1/public
<Directory /var/www/html/test1>
AllowOverride All
</Directory>
</VirtualHost>
“`
#### 注意事項:
– `DocumentRoot`は、Laravelのpublicディレクトリを指定します。
– `AllowOverride All`を設定することで、.htaccessファイルが有効になります。
—
### **ステップ6: 動作確認**
ブラウザでLaravelプロジェクトにアクセスし、正しく動作しているか確認します。通常は以下のURLでアクセスします。
“`
http://localhost
“`
—
### **まとめ**
Laravelディレクトリの設定は以下のポイントを押さえることが重要です:
1. 所有権をWebサーバーに設定する。
2. 必要なディレクトリに書き込み権限を付与する。
3. Composerで依存関係をインストールする。
4. キャッシュをクリアして問題を解決する。
5. Webサーバーの設定を正しく行う。
これらの手順を実行することで、Laravelプロジェクトが正常に動作するようになります。
-
備蓄米の放出で注目されている「古米を美味しく炊く方法」
矢野きくの
家事アドバイザー/節約アドバイザー/防災士/食育指導士
2/14(金) 8:45
米の価格高騰を受けて、政府の備蓄米放出が決定されました。「備蓄米となると古い米?」「古米って味が悪いんじゃないの?」と疑問に思っている方も多いようです。
しかし今回の備蓄米放出は、発表によると2024年産米を中心に2023年産米も加わるということで、そこまで古いお米ということでなく、味を心配する必要はないでしょう。
精米されずに玄米のまま温度管理された場所で保管されている米は、精米された状態で家庭で長く保管していた米に比べると味が落ちないのが一般的です。
仮に古米や古古米でも研ぎ方、炊き方で美味しく食べることができるので、今回は「古米を美味しく炊く方法」をご紹介します。
1・美味しく食べるための古米の研ぎ方
古米の場合、乾燥していることが多いため、研ぐときに力を入れすぎると米粒が割れてしまうことがあります。力を入れずに米全体を包み込むようにして研ぐのが理想的です。
またこれは新米の場合でも同じですが、米を研ぐときは炊飯器の内釜を使って研ぐのではなくザルとボウルを使って研ぐようにしましょう。内釜で研ぐと釜を傷つけてしまい、汚れが入り込みやすいだけでなく、炊飯の精度にも関わってきます。内釜だと水を替えづらく研いだ水が残りがちですが、ザルとボウルで研げばサッと新しい水で研ぐことができます。炊飯器の内釜で研ぐのではなく、ザル&ボウルで研ぐ(筆者撮影)
2・炊飯前にしっかり浸水させる
古米は乾燥しているものが多いので、新米のとき以上に炊飯前にしっかりと水に浸すことが美味しいご飯を炊くことにつながります。30分から1時間、浸水させておくようにしましょう。
3・古米を美味しく炊くには「酒」や「みりん」が効果的
古米を炊くときは、水だけでなく酒やみりんを入れることで甘みが増し、美味しく炊くことができます。目安の分量は米1合に対して、酒かみりんを小さじ1~2杯。何度か試してみて自分の好みで量を調整してください。
古米を炊飯するために酒やみりんを足す場合は、その同量の水を減らすことも忘れずに。通常の水の量を入れてから、酒やみりんを足す分量だけ計量スプーンを使って水を取り除き、その後に酒やみりんを足すと分かりやすいでしょう。
4・炊飯後にしっかり蒸らす
新米のときも必要ですが、炊飯後は10分ほどしっかりと蒸らすことも美味しく食べるポイントです。
今回ご紹介したように、古米でも美味しく炊く方法を知っていれば、味の劣化に関してはさほど心配する必要はありません。
また冒頭でご紹介したように今回の政府の備蓄米放出は2024年度産で、入っても2023年産の古米なので、味の心配はする必要はないでしょう。仮に古米でも力を入れて研がない、30分以上浸水させる、酒やみりんを加える、しっかり蒸らすことで美味しく炊くことができます。
【関連記事】
■「備蓄米って古くないの?」放出方針が発表された政府の備蓄米とは #専門家のまとめ(2025年2月14日)
■昨夏は「新米が出れば落ち着く見通し」しかしコメ価格は高止まりなのは何故?政府は備蓄米放出にルール変更 #専門家のまとめ(2025年2月1日)
-
タイガー魔法瓶【公式】 @Tiger_PR_JPN
/
🐯お米の炊き方、コレ覚えておいて…!👀🍚
\粘りが少なく軽い食感が特徴の外国米や備蓄米・古米。
浸水時間を通常米よりも長くし、しっかりと吸水させて糊化(α化)を促進させることで、粘りを引き出すことができます🍚✨ただし、お米は急激に吸水させると表面が荒れ、甘みと食感が損なわれてしまうため、冷蔵庫(低温)でじっくりと吸水させることが理想🌟
そのため吸水時間を長めにとり、ごはんの粘りをしっかり引き出すような炊き方の炊飯器メニューがおすすめです。
🐯そのほかのポイント
⚠お米を研ぐ際、水の中で長時間研ぐのはNG❌
お米に米ぬかのにおいがついたりします。
最初のお水は軽くすすぎ、すぐに捨ててくださいね。⚠温かい水で研ぐのはNG❌
約35度以上のお湯を使うとお米の温度が上がり、お米の吸水力が高まるため、
米ぬかのにおいを吸収してしまいます。さらに炊きムラがでる原因になります⚡️
午前11:49 · 2025年5月29日
-
wsl linux にインストールした mariadb にwindows側から接続する手順
wsl linux にインストールした mariadb にwindows側から接続する手順
GitHub Copilot: Windows側からWSL上のLinux MintにインストールされたMariaDBに接続するには、以下の手順を実行してください。
1. WSL上のMariaDBの設定を確認
MariaDBがWSL上で動作していることを確認し、外部接続を許可する設定を行います。
MariaDBの設定ファイルを編集
MariaDBの設定ファイル(通常は
/etc/mysql/my.cnf
または/etc/mysql/mariadb.conf.d/50-server.cnf
)を編集します。sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
以下の設定を確認・変更してください:
# ...existing code... bind-address = 0.0.0.0 # 127.0.0.1 を 0.0.0.0 に変更 # ...existing code...
これにより、MariaDBが外部からの接続を受け付けるようになります。
MariaDBを再起動
設定を反映させるためにMariaDBを再起動します。
sudo systemctl restart mariadb
2. Windows側からWSLのIPアドレスを確認
WSLのIPアドレスを確認します。以下のコマンドをWSLのターミナルで実行してください。
ip addr | grep inet
inet
の後に表示されるIPアドレス(例:172.20.0.2
)をメモします。
3. MariaDBユーザーの権限を設定
MariaDBにログインし、Windows側から接続できるようにユーザーの権限を設定します。
sudo mysql -u root -p
以下のコマンドを実行して、外部接続を許可するユーザーを作成または設定します。
CREATE USER 'username'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'username'@'%'; FLUSH PRIVILEGES;
username
: 接続に使用するユーザー名password
: 接続に使用するパスワード
4. Windows側でMariaDBクライアントをインストール
Windows側にMariaDBクライアント(例えば、HeidiSQLやMySQL Workbench)をインストールします。
5. Windows側から接続
MariaDBクライアントを開き、以下の情報を入力して接続します:
- ホスト名: WSLのIPアドレス(例:
172.20.0.2
) - ユーザー名: MariaDBで設定したユーザー名(例:
username
) - パスワード: MariaDBで設定したパスワード(例:
password
) - ポート: 3306(デフォルトのMariaDBポート)
注意点
- WSLのIPアドレスは再起動すると変わる可能性があります。その場合は再度確認してください。
- ファイアウォールやセキュリティソフトが接続をブロックしていないか確認してください。
これでWindows側からWSL上のMariaDBに接続できるはずです。
shimimane: PS Microsoft.PowerShell.Core\FileSystem::\wsl.localhost\Mint\var\www\html> ip addr | grep inet
ip: The term ‘ip’ is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.Suggestion [4,General]: The most similar commands are:
PS Microsoft.PowerShell.Core\FileSystem::\wsl.localhost\Mint\var\www\html>GitHub Copilot: PowerShellではWSLのコマンドを直接実行するには、
wsl
コマンドを使用する必要があります。以下の手順でWSL内のIPアドレスを確認してください。
1. WSL内で
ip addr
を実行するPowerShellからWSLのコマンドを実行するには、以下のように
wsl
コマンドを使います。wsl ip addr | grep inet
これにより、WSL内のネットワークインターフェースのIPアドレスが表示されます。
2. IPアドレスを確認する
出力の中で、
inet
の後に表示されるIPアドレスを探してください。例えば:inet 172.20.0.2/24 ...
この場合、
172.20.0.2
がWSLのIPアドレスです。
3. WSLに直接ログインして確認する方法
もしPowerShellからの実行がうまくいかない場合、WSLに直接ログインして確認することもできます。
wsl
WSLにログインした後、以下のコマンドを実行します:
ip addr | grep inet
4. Windows側から接続する準備
取得したIPアドレスを使用して、Windows側のMariaDBクライアントで接続を試みてください。
shimimane: PS Microsoft.PowerShell.Core\FileSystem::\wsl.localhost\Mint\var\www\html> wsl ip addr | grep inet
grep: The term ‘grep’ is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
PS Microsoft.PowerShell.Core\FileSystem::\wsl.localhost\Mint\var\www\html>GitHub Copilot: PowerShellでは
grep
コマンドが使用できないため、代わりにPowerShellのフィルタリング機能を使うか、WSL内で直接コマンドを実行してください。
方法1: PowerShellでフィルタリングする
以下のコマンドを使用して、
ip addr
の出力をフィルタリングします。wsl ip addr | Select-String -Pattern "inet"
これにより、
inet
を含む行が表示されます。
方法2: WSL内で直接確認する
PowerShellからWSLにログインして、WSL内でコマンドを実行します。
wsl
WSLにログインした後、以下のコマンドを実行します:
ip addr | grep inet
方法3: PowerShellで全出力を確認する
もしフィルタリングが不要であれば、以下のコマンドで全出力を確認できます。
wsl ip addr
出力の中で、
inet
の後に表示されるIPアドレスを探してください。
これでWSLのIPアドレスを確認できるはずです。
shimimane: PS Microsoft.PowerShell.Core\FileSystem::\wsl.localhost\Mint\var\www\html> wsl ip addr | Select-String -Pattern “inet”
<3>WSL (8) ERROR: CreateProcessParseCommon:717: Failed to translate \wsl.localhost\Mint\var\www\htmlinet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host inet 172.25.209.34/20 brd 172.25.223.255 scope global eth0 inet6 fe80::215:5dff:fed7:546b/64 scope link
PS Microsoft.PowerShell.Core\FileSystem::\wsl.localhost\Mint\var\www\html>
GitHub Copilot: 出力を見ると、WSLのネットワークインターフェース
eth0
に割り当てられたIPアドレスが確認できます。以下の情報が重要です:
- WSLのIPアドレス:
172.25.209.34
このIPアドレスを使用してWindows側からMariaDBに接続できます。
次の手順
- MariaDBの設定確認:
WSL内でMariaDBの設定ファイルを編集し、bind-address
を0.0.0.0
に設定して外部接続を許可していることを確認してください。
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
必要に応じてMariaDBを再起動します:
sudo systemctl restart mariadb
- Windows側から接続:
MariaDBクライアント(例: HeidiSQLやMySQL Workbench)を使用して以下の情報を入力します:
- ホスト名:
172.25.209.34
- ユーザー名: MariaDBで設定したユーザー名
- パスワード: MariaDBで設定したパスワード
- ポート:
3306
これで接続できるはずです。もし接続できない場合は、WSLのファイアウォールやMariaDBの設定を再確認してください。
shimimane: windowsgawakara
GitHub Copilot: Windows側からWSL上のMariaDBに接続する手順を以下にまとめます。
1. WSLのIPアドレスを確認
WSL内で以下のコマンドを実行してIPアドレスを確認します。
ip addr | grep inet
出力例:
inet 172.25.209.34/20 brd 172.25.223.255 scope global eth0
この場合、
172.25.209.34
がWSLのIPアドレスです。
2. MariaDBの設定を確認
WSL内でMariaDBの設定ファイルを編集し、外部接続を許可します。
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
以下の行を確認・変更します:
bind-address = 0.0.0.0
変更後、MariaDBを再起動します:
sudo systemctl restart mariadb
3. MariaDBユーザーの権限を設定
MariaDBにログインし、外部接続を許可するユーザーを作成します。
sudo mysql -u root -p
以下のSQLコマンドを実行します:
CREATE USER 'username'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'username'@'%'; FLUSH PRIVILEGES;
4. Windows側でMariaDBクライアントを使用
Windows側でMariaDBクライアント(例: HeidiSQLやMySQL Workbench)をインストールし、以下の情報を入力して接続します:
- ホスト名: WSLのIPアドレス(例:
172.25.209.34
) - ユーザー名: MariaDBで設定したユーザー名(例:
username
) - パスワード: MariaDBで設定したパスワード(例:
password
) - ポート: 3306(デフォルトのMariaDBポート)
注意点
- WSLのIPアドレスは再起動すると変わる可能性があります。その場合は再度確認してください。
- ファイアウォールやセキュリティソフトが接続をブロックしていないか確認してください。
これでWindows側からWSL上のMariaDBに接続できるはずです。
shimimane: powershell からmysql 172.25.209.34 を使用するコマンド
GitHub Copilot: PowerShellからWSL上のMariaDB(MySQL)に接続するには、以下の手順を実行します。
1. MySQLクライアントをインストール
まず、Windows側にMySQLクライアントをインストールする必要があります。以下のリンクからインストールしてください:
インストール後、
mysql.exe
がコマンドラインで使用可能になります。
2. PowerShellから接続するコマンド
以下のコマンドをPowerShellで実行してMariaDBに接続します:
mysql -h 172.25.209.34 -u username -p
-h 172.25.209.34
: WSLのIPアドレス-u username
: MariaDBで設定したユーザー名-p
: パスワードを入力するプロンプトを表示
コマンドを実行すると、パスワードの入力を求められます。正しいパスワードを入力するとMariaDBに接続できます。
3. 接続例
以下は接続例です:
mysql -h 172.25.209.34 -u root -p
パスワードを入力後、MariaDBのプロンプトに入ります:
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 10 Server version: 10.5.12-MariaDB-1 Debian build Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
注意点
mysql.exe
がPATHに含まれていない場合は、インストールディレクトリを指定して実行してください。
例:
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe" -h 172.25.209.34 -u username -p
- WSLのIPアドレスが変わる場合があるため、接続前に確認してください。
これでPowerShellからMariaDBに接続できるはずです。
-
便利なマクロ一覧45選!マクロの組み方やそのまま使えるコードを紹介
https://www.sms-datatech.co.jp/column/aut_macro-list
現代のビジネス環境において、業務効率化は企業の競争力を向上させる重要な要素といえます。業務効率化の中でも、広く知られているマクロは、作業の自動化やルーティーン作業の簡略化において大きな効果を発揮しています。また、サービスや商品の品質も重視される現代では、ヒューマンエラーの軽減においても効果的です。
本記事では、業務の自動化に興味があるがマクロの組み方が分からない、あるいは既存の業務にマクロを取り入れて効率的に処理したいと考えている方々向けに、便利なマクロを紹介します。マクロは作業を自動化し、業務効率を向上させるための重要なツールです。マクロの基本的な定義から具体的な事例までを解説し、さらにそのまま使える便利なマクロのコード一覧を提供します。目次 [非表示]
- 1 マクロとは
- 2 便利なマクロの一覧
- 2.1 1.ExcelマクロVBAでWord連携!ワード操作して差し込み印刷
- 2.2 2.Excel表をコピーしてWordに貼り付ける
- 2.3 3. VBAでフォルダ内の全てのExcelデータを1つにまとめる
- 2.4 4.請求書PDF作成
- 2.5 5.ExcelマクロVBAで毎週の作業チェックリストの作成・印刷を自動化
- 2.6 6.ExcelマクロVBAで折れ線グラフを連続自動作成
- 2.7 7.ExcelマクロVBAで大量データの処理動作が遅いときの対処法
- 2.8 8.ショートカットキーを作成する方法
- 2.9 9.SUM関数を作成
- 2.10 10.自動チェック機能を作成
- 2.11 11.表を自動作成する方法
- 2.12 12.マクロの自動記録
- 2.13 13.フォルダ内の不要ファイルをまとめて削除
- 2.14 14.VBAでExcel内の複数シートのデータを1つにまとめる
- 2.15 15.ExcelマクロVBAで商品別に売上集計
- 2.16 16.Excel一覧表で複数条件に合致したデータを抽出して表示
- 2.17 17. 四半期ごとの合計を出力
- 2.18 18.データを月別計算して表に出力
- 2.19 19.Excelマクロでデータを日別に合計して表に出力
- 2.20 20.週ごとにデータを合計して表に出力
- 2.21 21.オブジェクトを削除する
- 2.22 22.Excelデータを項目毎に別ファイルへ転記
- 2.23 23.Excelの不要シートを一斉削除
- 2.24 24.ExcelマクロVBAでデータ項目別にシートコピーし自動転記
- 2.25 25. データを月別にシートを分ける
- 2.26 26.大量データを比較・照合する
- 2.27 27.色の塗りつぶしがない行や列の表示・非表示を切替
- 2.28 28.セルの値で同じ階層に複数フォルダ一括作成
- 2.29 29.複数フォルダを階層別に一括作成
- 2.30 30.フォルダ内のファイル名を取得
- 2.31 31. フォルダ内のファイル名とサブフォルダを取得して一覧化(拡張子あり)
- 2.32 32.サブフォルダ含めフォルダ名とファイル名をテキストファイル出力
- 2.33 33. フォルダ名・ファイル名を一括変更
- 2.34 34. Shellを使ってフォルダを開く(アクティブ化)
- 2.35 35. ダイアログからフォルダ選択し複数ファイル名を取得・一覧表示
- 2.36 36.フォルダ内のExcelファイルの処理
- 2.37 37. テキストファイルの文字列を一斉置換・変換
- 2.38 38.フォルダ内のファイル数とフォルダ数をカウントしてExcelに出力
- 2.39 39.VBAでフォルダ内のファイルや特定フォルダを一括コピー
- 2.40 40.複数フォルダのセットを一括コピー
- 2.41 41.Wordと連携して資料送付状を作成
- 2.42 42.Word議事録メモを作成して最前面表示
- 2.43 43.Word操作で差し込み印刷
- 2.44 44.FSOを使ってフォルダ存在をチェックしてフォルダ作成
- 2.45 45.フォルダ内のファイルや特定フォルダのリストを取得
- 3 まとめ
マクロとは
マクロは、プログラム内に記録された一連の操作を自動的に実行する機能を指します。
これは、通常、複雑なタスクや繰り返しの作業を単一のボタンやショートカットキーで実行できるようにするために使用されます。具体的な例として、ExcelのVBA(Visual Basic for Applications)を利用したマクロは、データの整形や集計、レポート作成など、多岐にわたる業務に適用することができます。VBAについては下記のブログで詳しく紹介しています。
➡「VBAとは?メリットやVBAでできる業務改善事例15選をご紹介!」マクロは単なる作業の効率化だけでなく、精度や生産性の向上にも寄与します。例えば、大量のデータを処理する場合、人為的なミスのリスクが高まりますが、マクロを利用することで一貫性のある処理が可能となります。また、業務の自動化により、従業員はより戦略的な仕事に時間を費やすことができ、クリエイティブな側面に注力できるようになります。
マクロの組み方
マクロを組む基本的なステップは、録画機能を使うことです。ExcelVBAを使用する場合、まずは録画機能を使って基本的な操作を記録し、それを修正して必要な処理に合わせます。このプロセスを通じて、マクロの基本的な概念や構造を理解できます。
マクロの組み方の詳細な手順は、下記のブログで紹介しています。
➡【マクロの組み方とは?VBAとの違いやサンプルコードについて紹介】便利なマクロの一覧
ここでは、さまざまな業務シーンで役立つマクロを紹介します。コードは実際の環境に合わせてカスタマイズしてください。
1.ExcelマクロVBAでWord連携!ワード操作して差し込み印刷
Sub Word連携_印刷() Dim wdApp As Object Dim wdDoc As Object ' Wordアプリケーションの起動 Set wdApp = CreateObject("Word.Application") wdApp.Visible = True ' Wordを表示 ' 新しいドキュメントを作成 Set wdDoc = wdApp.Documents.Add ' ここにWordでの操作や文書の編集を記述 ' ドキュメントを印刷 wdDoc.PrintOut ' Wordを閉じる wdApp.Quit Set wdApp = Nothing Set wdDoc = Nothing End Sub
2.Excel表をコピーしてWordに貼り付ける
Sub Excel表をWordに貼り付け() Dim wdApp As Object Dim wdDoc As Object ' Wordアプリケーションの起動 Set wdApp = CreateObject("Word.Application") wdApp.Visible = True ' Wordを表示 ' 新しいドキュメントを作成 Set wdDoc = wdApp.Documents.Add ' Excelの選択範囲をコピー Range("A1:D10").Copy ' Wordに貼り付け wdDoc.Range.Paste ' ここにWordでの操作や文書の編集を記述 ' Wordを閉じる wdApp.Quit Set wdApp = Nothing Set wdDoc = Nothing End Sub
3. VBAでフォルダ内の全てのExcelデータを1つにまとめる
Sub フォルダ内Excelデータ結合() Dim wbMaster As Workbook Dim wsMaster As Worksheet Dim myPath As String Dim myFile As String Dim currentFile As String ' マスターブックを新規作成 Set wbMaster = Workbooks.Add Set wsMaster = wbMaster.Sheets(1) ' フォルダのパスを指定 myPath = "C:\Your\Folder\Path\" ' フォルダ内の全てのExcelファイルに対して処理 myFile = Dir(myPath & "*.xlsx") Do While myFile <> "" currentFile = myPath & myFile ' Excelファイルをマスターブックに追加 Workbooks.Open currentFile ActiveSheet.UsedRange.Copy wsMaster.Cells(wsMaster.Rows.Count, "A").End(xlUp).Offset(1) Workbooks(myFile).Close SaveChanges:=False ' 次のファイルへ myFile = Dir Loop End Sub
4.請求書PDF作成
Sub 請求書PDF作成() Dim wsData As Worksheet Dim wsInvoice As Worksheet Dim pdfFileName As String Dim lastRow As Long ' データが格納されているシートを指定 Set wsData = ThisWorkbook.Sheets("データ") ' 請求書のテンプレートが格納されているシートを指定 Set wsInvoice = ThisWorkbook.Sheets("請求書テンプレート") ' データの行数を取得 lastRow = wsData.Cells(wsData.Rows.Count, "A").End(xlUp).Row ' 各行ごとに請求書を作成 For i = 2 To lastRow ' ここに取引先別の請求書作成処理を記述 ' PDFファイル名の生成 pdfFileName = "請求書_" & wsData.Cells(i, 1).Value & ".pdf" ' 請求書をPDFとして保存 wsInvoice.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfFileName Next i End Sub
5.ExcelマクロVBAで毎週の作業チェックリストの作成・印刷を自動化
Sub 作業チェックリスト作成() Dim wsChecklist As Worksheet Dim checklistFileName As String ' 作業チェックリストが格納されているシートを指定 Set wsChecklist = ThisWorkbook.Sheets("作業チェックリスト") ' ここに作業チェックリストの作成処理を記述 ' PDFファイル名の生成 checklistFileName = "作業チェックリスト_" & Format(Date, "yyyymmdd") & ".pdf" ' 作業チェックリストをPDFとして保存 wsChecklist.ExportAsFixedFormat Type:=xlTypePDF, Filename:=checklistFileName End Sub
6.ExcelマクロVBAで折れ線グラフを連続自動作成
Sub 折れ線グラフ作成() Dim wsData As Worksheet Dim cht As ChartObject Dim lastRow As Long ' データが格納されているシートを指定 Set wsData = ThisWorkbook.Sheets("データ") ' データの行数を取得 lastRow = wsData.Cells(wsData.Rows.Count, "A").End(xlUp).Row ' グラフの挿入 Set cht = wsData.ChartObjects.Add(Left:=100, Width:=375, Top:=75, Height:=225) ' グラフの種類を折れ線グラフに設定 cht.Chart.ChartType = xlLine ' グラフのデータ範囲を設定 cht.Chart.SetSourceData Source:=wsData.Range("A1:B" & lastRow) ' グラフにタイトルを追加 cht.Chart.HasTitle = True cht.Chart.ChartTitle.Text = "折れ線グラフ" ' 軸ラベルの追加 cht.Chart.Axes(xlCategory, xlPrimary).HasTitle = True cht.Chart.Axes(xlCategory, xlPrimary).AxisTitle.Text = "X軸ラベル" ' 軸の最小値と最大値を設定 cht.Chart.Axes(xlValue, xlPrimary).MinimumScale = 0 cht.Chart.Axes(xlValue, xlPrimary).MaximumScale = 100 ' グラフの色を設定 cht.Chart.SeriesCollection(1).Format.Line.ForeColor.RGB = RGB(255, 0, 0) End Sub
7.ExcelマクロVBAで大量データの処理動作が遅いときの対処法
Sub データ処理の高速化() ' 以下にデータ処理のコードを追加 ' 処理前の状態を最適化する Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Application.EnableEvents = False ' ここに処理コードを追加 ' 処理後に元の状態に戻す Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic Application.EnableEvents = True End Sub
8.ショートカットキーを作成する方法
Sub ショートカットキーの作成() ' 任意のショートカットキーを設定 Application.OnKey "^+s", "マクロの実行" End Sub
9.SUM関数を作成
Function カスタムSUM(rng As Range) As Double Dim cell As Range Dim total As Double ' セルごとに値を加算 For Each cell In rng total = total + cell.Value Next cell ' 関数の戻り値として合計値を返す カスタムSUM = total End Function
10.自動チェック機能を作成
Private Sub Worksheet_Change(ByVal Target As Range) Dim rng As Range Dim cell As Range ' チェック対象のセル範囲を指定 Set rng = Range("A1:B10") ' 対象セルが変更された場合の処理 If Not Intersect(Target, rng) Is Nothing Then For Each cell In Intersect(Target, rng) ' ここに入力ミスのチェック処理を追加 If cell.Value < 0 Then MsgBox "エラー: 負の値は入力できません。", vbExclamation cell.ClearContents ' 負の値をクリア End If Next cell End If End Sub
11.表を自動作成する方法
Sub 表の自動作成() Dim ws As Worksheet Dim rng As Range Dim lastRow As Long Dim lastCol As Long ' 対象のシートを指定 Set ws = ThisWorkbook.Sheets("データ") ' データの範囲を取得 lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row lastCol = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column ' データの範囲を指定 Set rng = ws.Range(ws.Cells(1, 1), ws.Cells(lastRow, lastCol)) ' 表の罫線を設定 rng.Borders.LineStyle = xlContinuous ' ヘッダーの背景色を変更 rng.Rows(1).Interior.Color = RGB(200, 200, 200) End Sub
12.マクロの自動記録
Sub マクロの自動記録() ' マクロの記録を開始 With ThisWorkbook.Sheets("Sheet1") .Cells.Clear .Cells(1, 1).Value = "データ1" .Cells(1, 2).Value = "データ2" .Cells(2, 1).Value = "データ3" .Cells(2, 2).Value = "データ4" End With ' ここで手動で行った操作を確認 ' マクロの記録を終了 End Sub
13.フォルダ内の不要ファイルをまとめて削除
Sub 不要ファイルの削除() Dim folderPath As String Dim fileName As String ' 削除対象のフォルダを指定 folderPath = "C:\Users\ユーザー名\Documents\不要ファイル" ' フォルダ内のファイルを一括で削除 fileName = Dir(folderPath & "\*.*") Do While fileName <> "" Kill folderPath & "\" & fileName fileName = Dir Loop End Sub
14.VBAでExcel内の複数シートのデータを1つにまとめる
Sub シートのデータ結合() Dim ws As Worksheet Dim combinedSheet As Worksheet Dim lastRow As Long ' 結合先のシートを指定 Set combinedSheet = ThisWorkbook.Sheets("結合データ") ' すべてのシートをループ For Each ws In ThisWorkbook.Sheets ' 結合先のシートは除外 If ws.Name <> combinedSheet.Name Then ' 最終行を取得 lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ' データを結合先の次の行にコピー ws.Range("A1").Resize(lastRow, ws.UsedRange.Columns.Count).Copy _ combinedSheet.Cells(combinedSheet.Rows.Count, "A").End(xlUp).Offset(1) End If Next ws End Sub
15.ExcelマクロVBAで商品別に売上集計
Sub 商品別売上集計() Dim dataSheet As Worksheet Dim summarySheet As Worksheet Dim lastRow As Long ' データが格納されているシートと集計結果を表示するシートを指定 Set dataSheet = ThisWorkbook.Sheets("売上データ") Set summarySheet = ThisWorkbook.Sheets("商品別売上集計") ' 商品別に集計 dataSheet.Range("A1:B" & dataSheet.Cells(dataSheet.Rows.Count, "A").End(xlUp).Row).Copy _ summarySheet.Cells(1, 1) ' 集計データをソートしてランキングを表示 With summarySheet.Sort .SortFields.Clear .SortFields.Add Key:=summarySheet.Range("B:B"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal .SetRange summarySheet.Range("A:B") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub
16.Excel一覧表で複数条件に合致したデータを抽出して表示
Sub 条件抽出() Dim dataSheet As Worksheet Dim resultSheet As Worksheet Dim criteria1 As String Dim criteria2 As String Dim lastRow As Long ' データが格納されているシートと結果を表示するシートを指定 Set dataSheet = ThisWorkbook.Sheets("データ") Set resultSheet = ThisWorkbook.Sheets("抽出結果") ' 抽出条件を指定 criteria1 = "条件1" criteria2 = "条件2" ' データを結果シートに抽出 dataSheet.Range("A1:C" & dataSheet.Cells(dataSheet.Rows.Count, "A").End(xlUp).Row).AutoFilter _ Field:=1, Criteria1:=criteria1 dataSheet.Range("A1:C" & dataSheet.Cells(dataSheet.Rows.Count, "A").End(xlUp).Row).AutoFilter _ Field:=2, Criteria1:=criteria2 dataSheet.AutoFilterMode = False ' 抽出データを結果シートにコピー dataSheet.UsedRange.SpecialCells(xlCellTypeVisible).Copy resultSheet.Range("A1") End Sub
17. 四半期ごとの合計を出力
Sub 四半期別合計() Dim dataSheet As Worksheet Dim resultSheet As Worksheet Dim lastRow As Long Dim quarter As Integer Dim i As Integer ' データが格納されているシートと結果を表示するシートを指定 Set dataSheet = ThisWorkbook.Sheets("データ") Set resultSheet = ThisWorkbook.Sheets("四半期別合計") ' データの最終行を取得 lastRow = dataSheet.Cells(dataSheet.Rows.Count, "A").End(xlUp).Row ' 四半期ごとにデータを合計 For i = 2 To lastRow quarter = Int((Month(dataSheet.Cells(i, 1)) - 1) / 3) + 1 resultSheet.Cells(quarter, 2).Value = resultSheet.Cells(quarter, 2).Value + dataSheet.Cells(i, 2).Value Next i End Sub
18.データを月別計算して表に出力
Sub 月別計算() Dim dataSheet As Worksheet Dim resultSheet As Worksheet Dim lastRow As Long Dim month As Integer Dim i As Integer ' データが格納されているシートと結果を表示するシートを指定 Set dataSheet = ThisWorkbook.Sheets("データ") Set resultSheet = ThisWorkbook.Sheets("月別計算") ' データの最終行を取得 lastRow = dataSheet.Cells(dataSheet.Rows.Count, "A").End(xlUp).Row ' 月ごとにデータを合計 For i = 2 To lastRow month = Month(dataSheet.Cells(i, 1)) resultSheet.Cells(month, 2).Value = resultSheet.Cells(month, 2).Value + dataSheet.Cells(i, 2).Value Next i End Sub
19.Excelマクロでデータを日別に合計して表に出力
Sub 日別合計() Dim dataSheet As Worksheet Dim resultSheet As Worksheet Dim lastRow As Long Dim dateValue As Date Dim i As Integer ' データが格納されているシートと結果を表示するシートを指定 Set dataSheet = ThisWorkbook.Sheets("データ") Set resultSheet = ThisWorkbook.Sheets("日別合計") ' データの最終行を取得 lastRow = dataSheet.Cells(dataSheet.Rows.Count, "A").End(xlUp).Row ' 日ごとにデータを合計 For i = 2 To lastRow dateValue = dataSheet.Cells(i, 1).Value resultSheet.Cells(DateValue, 2).Value = resultSheet.Cells(DateValue, 2).Value + dataSheet.Cells(i, 2).Value Next i End Sub
20.週ごとにデータを合計して表に出力
Sub 週ごと合計() Dim dataSheet As Worksheet Dim resultSheet As Worksheet Dim lastRow As Long Dim startDate As Date Dim endDate As Date Dim i As Integer ' データが格納されているシートと結果を表示するシートを指定 Set dataSheet = ThisWorkbook.Sheets("データ") Set resultSheet = ThisWorkbook.Sheets("週ごと合計") ' データの最終行を取得 lastRow = dataSheet.Cells(dataSheet.Rows.Count, "A").End(xlUp).Row ' 週ごとにデータを合計 For i = 2 To lastRow startDate = WorksheetFunction.WorkDay(dataSheet.Cells(i, 1).Value, -Weekday(dataSheet.Cells(i, 1).Value) + 1) endDate = startDate + 6 resultSheet.Cells(startDate, 2).Value = resultSheet.Cells(startDate, 2).Value + dataSheet.Cells(i, 2).Value Next i End Sub
21.オブジェクトを削除する
Sub オブジェクト削除() Dim obj As Object ' 削除対象のオブジェクトを指定(例:シート上のすべての図形を削除) For Each obj In ActiveSheet.Shapes obj.Delete Next obj End Sub
22.Excelデータを項目毎に別ファイルへ転記
Sub データ転記() Dim dataSheet As Worksheet Dim lastRow As Long Dim i As Long Dim newWorkbook As Workbook ' データが格納されているシートを指定 Set dataSheet = ThisWorkbook.Sheets("データ") ' データの最終行を取得 lastRow = dataSheet.Cells(dataSheet.Rows.Count, "A").End(xlUp).Row ' 列ごとにデータを別ファイルに転記 For i = 1 To dataSheet.UsedRange.Columns.Count ' 新しいブックを作成 Set newWorkbook = Workbooks.Add ' データをコピー dataSheet.Columns(i).Copy newWorkbook.Sheets(1).Range("A1") ' ブックを保存 newWorkbook.SaveAs "転記データ_" & dataSheet.Cells(1, i).Value & ".xlsx" newWorkbook.Close SaveChanges:=False Next i End Sub
23.Excelの不要シートを一斉削除
Sub 不要シート削除() Dim sheet As Worksheet ' 削除対象のシートを指定(例: "Sheet2"と"Sheet3"を削除) Application.DisplayAlerts = False For Each sheet In ThisWorkbook.Sheets If sheet.Name = "Sheet2" Or sheet.Name = "Sheet3" Then sheet.Delete End If Next sheet Application.DisplayAlerts = True End Sub
24.ExcelマクロVBAでデータ項目別にシートコピーし自動転記
Sub データ項目別自動転記() Dim dataSheet As Worksheet Dim lastRow As Long Dim i As Long Dim targetSheet As Worksheet ' データが格納されているシートを指定 Set dataSheet = ThisWorkbook.Sheets("データ") ' データの最終行を取得 lastRow = dataSheet.Cells(dataSheet.Rows.Count, "A").End(xlUp).Row ' 列ごとにデータを項目別に新しいシートに転記 For i = 2 To dataSheet.UsedRange.Columns.Count ' 新しいシートを作成 Set targetSheet = Sheets.Add(After:=Sheets(Sheets.Count)) targetSheet.Name = dataSheet.Cells(1, i).Value ' データをコピー dataSheet.Columns(i).Copy targetSheet.Range("A1") Next i End Sub
25. データを月別にシートを分ける
Sub 月別シート分け() Dim dataSheet As Worksheet Dim lastRow As Long Dim i As Long Dim targetSheet As Worksheet Dim currentMonth As String ' データが格納されているシートを指定 Set dataSheet = ThisWorkbook.Sheets("データ") ' データの最終行を取得 lastRow = dataSheet.Cells(dataSheet.Rows.Count, "A").End(xlUp).Row ' 列ごとにデータを月別に新しいシートに分けて転記 For i = 2 To lastRow ' 日付から月を取得 currentMonth = Format(dataSheet.Cells(i, 1).Value, "yyyy年mm月") ' 月ごとに新しいシートを作成 If WorksheetExists(currentMonth) Then Set targetSheet = Sheets(currentMonth) Else Set targetSheet = Sheets.Add(After:=Sheets(Sheets.Count)) targetSheet.Name = currentMonth End If ' データをコピー dataSheet.Rows(i).Copy targetSheet.Cells(targetSheet.Cells(targetSheet.Rows.Count, "A").End(xlUp).Row + 1, 1) Next i End Sub Function WorksheetExists(shtName As String) As Boolean On Error Resume Next WorksheetExists = Not Worksheets(shtName) Is Nothing On Error GoTo 0 End Function
26.大量データを比較・照合する
Sub データ比較照合() Dim dataSheet1 As Worksheet Dim dataSheet2 As Worksheet Dim resultSheet As Worksheet Dim lastRow1 As Long Dim lastRow2 As Long Dim i As Long Dim j As Long Dim matchFound As Boolean ' データが格納されているシートを指定 Set dataSheet1 = ThisWorkbook.Sheets("データ1") Set dataSheet2 = ThisWorkbook.Sheets("データ2") Set resultSheet = ThisWorkbook.Sheets.Add(After:=Sheets(Sheets.Count)) resultSheet.Name = "マッチング結果" ' データの最終行を取得 lastRow1 = dataSheet1.Cells(dataSheet1.Rows.Count, "A").End(xlUp).Row lastRow2 = dataSheet2.Cells(dataSheet2.Rows.Count, "A").End(xlUp).Row ' データ1の各行をデータ2と比較して一致するものを新しいシートに転記 For i = 2 To lastRow1 matchFound = False For j = 2 To lastRow2 If dataSheet1.Cells(i, 1).Value = dataSheet2.Cells(j, 1).Value Then matchFound = True dataSheet1.Rows(i).Copy resultSheet.Cells(resultSheet.Cells(resultSheet.Rows.Count, "A").End(xlUp).Row + 1, 1) Exit For End If Next j Next i End Sub
27.色の塗りつぶしがない行や列の表示・非表示を切替
Sub 色の塗りつぶし非表示() Dim dataSheet As Worksheet Dim lastRow As Long Dim lastCol As Long Dim i As Long Dim j As Long Dim rowHasFill As Boolean Dim colHasFill As Boolean ' データが格納されているシートを指定 Set dataSheet = ThisWorkbook.Sheets("データ") ' データの最終行と最終列を取得 lastRow = dataSheet.Cells(dataSheet.Rows.Count, "A").End(xlUp).Row lastCol = dataSheet.Cells(1, dataSheet.Columns.Count).End(xlToLeft).Column ' 各行に色の塗りつぶしがない場合は非表示に、ある場合は表示にする For i = 1 To lastRow rowHasFill = False For j = 1 To lastCol If dataSheet.Cells(i, j).Interior.ColorIndex <> -4142 Then ' -4142は白色のColorIndex rowHasFill = True Exit For End If Next j dataSheet.Rows(i).Hidden = Not rowHasFill Next i ' 各列に色の塗りつぶしがない場合は非表示に、ある場合は表示にする For j = 1 To lastCol colHasFill = False For i = 1 To lastRow If dataSheet.Cells(i, j).Interior.ColorIndex <> -4142 Then colHasFill = True Exit For End If Next i dataSheet.Columns(j).Hidden = Not colHasFill Next j End Sub
28.セルの値で同じ階層に複数フォルダ一括作成
Sub フォルダ作成() Dim baseFolder As String Dim cellValue As Variant Dim folderPath As String ' ベースとなるフォルダを指定 baseFolder = "C:\Users\YourUsername\Documents\" ' データが格納されているセルの範囲を指定 Dim dataRange As Range Set dataRange = ThisWorkbook.Sheets("シート1").Range("A1:A10") ' 適切な範囲を指定 ' セルの値で同じ階層に複数フォルダを一括作成 For Each cell In dataRange If Not IsEmpty(cell.Value) Then cellValue = Replace(cell.Value, "/", "-") ' フォルダ名に使えない文字を変換 folderPath = baseFolder & cellValue & "\" MkDir folderPath End If Next cell End Sub
29.複数フォルダを階層別に一括作成
Sub 階層フォルダ作成() Dim baseFolder As String Dim folderList As Variant Dim folderPath As String Dim subFolder As Variant ' ベースとなるフォルダを指定 baseFolder = "C:\Users\YourUsername\Documents\" ' 作成するサブフォルダのリストを指定 folderList = Array("フォルダ1", "フォルダ2", "フォルダ3") ' 各サブフォルダをベースフォルダ内に一括で作成 For Each subFolder In folderList folderPath = baseFolder & subFolder & "\" MkDir folderPath Next subFolder End Sub
30.フォルダ内のファイル名を取得
Sub ファイル名取得() Dim folderPath As String Dim fileName As String Dim fileExtension As String ' 対象のフォルダを指定 folderPath = "C:\Users\YourUsername\Documents\SampleFolder\" ' フォルダ内のファイル名を取得 fileName = Dir(folderPath & "*.*") ' ファイルが存在する限りループ Do While fileName <> "" ' ファイル名と拡張子を表示 Debug.Print fileName ' 次のファイルを取得 fileName = Dir Loop End Sub
31. フォルダ内のファイル名とサブフォルダを取得して一覧化(拡張子あり)
Sub ファイルとサブフォルダ取得() Dim folderPath As String Dim fileName As String Dim subFolderName As String Dim fileExtension As String Dim resultSheet As Worksheet Dim rowNumber As Long ' 対象のフォルダを指定 folderPath = "C:\Users\YourUsername\Documents\SampleFolder\" ' フォルダ内のファイル名とサブフォルダ名を取得して一覧表示 Set resultSheet = ThisWorkbook.Sheets.Add(After:=Sheets(Sheets.Count)) resultSheet.Name = "ファイル一覧" rowNumber = 1 ' ファイル名を取得 fileName = Dir(folderPath & "*.*") Do While fileName <> "" ' ファイル名と拡張子を分割 fileExtension = Right(fileName, Len(fileName) - InStrRev(fileName, ".")) ' ファイル名と拡張子を表示 resultSheet.Cells(rowNumber, 1).Value = fileName resultSheet.Cells(rowNumber, 2).Value = fileExtension rowNumber = rowNumber + 1 ' 次のファイルを取得 fileName = Dir Loop ' サブフォルダ名を取得 subFolderName = Dir(folderPath & "*", vbDirectory) Do While subFolderName <> "" ' "." と ".." 以外のディレクトリを処理 If subFolderName <> "." And subFolderName <> ".." Then ' サブフォルダ名を表示 resultSheet.Cells(rowNumber, 1).Value = subFolderName resultSheet.Cells(rowNumber, 2).Value = "フォルダ" rowNumber = rowNumber + 1 End If ' 次のサブフォルダを取得 subFolderName = Dir Loop End Sub
32.サブフォルダ含めフォルダ名とファイル名をテキストファイル出力
Sub フォルダファイルリスト出力() Dim folderPath As String Dim fileName As String Dim subFolderName As String Dim fileExtension As String Dim outputFilePath As String Dim outputText As String ' 対象のフォルダを指定 folderPath = "C:\Users\YourUsername\Documents\SampleFolder\" ' 出力するテキストファイルのパスを指定 outputFilePath = "C:\Users\YourUsername\Documents\FolderFileList.txt" ' フォルダ内のファイル名とサブフォルダ名をテキストファイルに出力 Open outputFilePath For Output As #1 ' ファイル名を取得 fileName = Dir(folderPath & "*.*") Do While fileName <> "" ' ファイル名と拡張子を分割 fileExtension = Right(fileName, Len(fileName) - InStrRev(fileName, ".")) ' ファイル名と拡張子をテキストファイルに出力 Print #1, fileName & "," & fileExtension ' 次のファイルを取得 fileName = Dir Loop ' サブフォルダ名を取得 subFolderName = Dir(folderPath & "*", vbDirectory) Do While subFolderName <> "" ' "." と ".." 以外のディレクトリを処理 If subFolderName <> "." And subFolderName <> ".." Then ' サブフォルダ名をテキストファイルに出力 Print #1, subFolderName & ",フォルダ" End If ' 次のサブフォルダを取得 subFolderName = Dir Loop Close #1 End Sub
33. フォルダ名・ファイル名を一括変更
Sub フォルダファイル名一括変更() Dim folderPath As String Dim newFolderName As String Dim newFileName As String Dim oldPath As String Dim newPath As String ' 対象のフォルダを指定 folderPath = "C:\Users\YourUsername\Documents\SampleFolder\" ' 変更後のフォルダ名とファイル名を指定 newFolderName = "新しいフォルダ名" newFileName = "新しいファイル名" ' フォルダ内のフォルダ名を一括変更 Name folderPath & "*" & "\", folderPath & newFolderName & "\" ' フォルダ内のファイル名を一括変更 Dim fileName As String fileName = Dir(folderPath & "*.*") Do While fileName <> "" oldPath = folderPath & fileName newPath = folderPath & newFileName & "." & Right(fileName, Len(fileName) - InStrRev(fileName, ".")) Name oldPath As newPath fileName = Dir Loop End Sub
34. Shellを使ってフォルダを開く(アクティブ化)
Sub フォルダを最前面で開く() Dim folderPath As String ' 開く対象のフォルダを指定 folderPath = "C:\Users\YourUsername\Documents\SampleFolder\" ' フォルダを最前面で開く Shell "explorer.exe /select," & folderPath, vbNormalFocus End Sub
35. ダイアログからフォルダ選択し複数ファイル名を取得・一覧表示
Sub フォルダ選択してファイル名取得() Dim folderPath As String Dim fileName As String Dim fileNames As String Dim selectedFolder As Variant Dim resultSheet As Worksheet Dim rowNumber As Long ' ダイアログからフォルダを選択 With Application.FileDialog(msoFileDialogFolderPicker) If .Show = -1 Then selectedFolder = .SelectedItems(1) Else Exit Sub End If End With ' 選択されたフォルダ内のファイル名を取得して一覧表示 Set resultSheet = ThisWorkbook.Sheets.Add(After:=Sheets(Sheets.Count)) resultSheet.Name = "選択フォルダファイル一覧" rowNumber = 1 ' ファイル名を取得 fileName = Dir(selectedFolder & "\*.*") Do While fileName <> "" ' ファイル名を表示 resultSheet.Cells(rowNumber, 1).Value = fileName rowNumber = rowNumber + 1 ' 次のファイルを取得 fileName = Dir Loop End Sub
36.フォルダ内のExcelファイルの処理
Sub Excelファイル処理() Dim folderPath As String Dim fileName As String Dim wb As Workbook ' 対象のフォルダを指定 folderPath = "C:\Users\YourUsername\Documents\ExcelFiles\" ' フォルダ内のExcelファイルを処理 fileName = Dir(folderPath & "*.xlsx") Do While fileName <> "" ' Excelファイルを開く Set wb = Workbooks.Open(folderPath & fileName) ' ここにExcelファイルに対する処理を追加 ' 例:シート1のA1セルに値を表示 wb.Sheets(1).Range("A1").Value = "Hello, Excel!" ' Excelファイルを保存して閉じる wb.Close SaveChanges:=True ' 次のExcelファイルを取得 fileName = Dir Loop End Sub
37. テキストファイルの文字列を一斉置換・変換
Sub テキスト置換変換() Dim filePath As String Dim text As String Dim newText As String Dim fileContent As String ' 対象のテキストファイルを指定 filePath = "C:\Users\YourUsername\Documents\TextFile.txt" ' 置換前の文字列と置換後の文字列を指定 text = "置換前の文字列" newText = "置換後の文字列" ' テキストファイルを読み込む Open filePath For Input As #1 fileContent = Input$(LOF(1), #1) Close #1 ' 文字列を置換 fileContent = Replace(fileContent, text, newText) ' 置換後の内容をテキストファイルに書き込む Open filePath For Output As #1 Print #1, fileContent Close #1 End Sub
38.フォルダ内のファイル数とフォルダ数をカウントしてExcelに出力
Sub フォルダ統計情報() Dim folderPath As String Dim fileCount As Long Dim folderCount As Long ' 対象のフォルダを指定 folderPath = "C:\Users\YourUsername\Documents\SampleFolder\" ' フォルダ内のファイル数とフォルダ数をカウント fileCount = GetFileCount(folderPath) folderCount = GetFolderCount(folderPath) ' カウント結果をExcelに出力 ThisWorkbook.Sheets("Sheet1").Range("A1").Value = "ファイル数" ThisWorkbook.Sheets("Sheet1").Range("B1").Value = fileCount ThisWorkbook.Sheets("Sheet1").Range("A2").Value = "フォルダ数" ThisWorkbook.Sheets("Sheet1").Range("B2").Value = folderCount End Sub Function GetFileCount(folderPath As String) As Long Dim file As String Dim fileCount As Long file = Dir(folderPath & "*.*") Do While file <> "" If (GetAttr(folderPath & file) And vbDirectory) = 0 Then fileCount = fileCount + 1 End If file = Dir Loop GetFileCount = fileCount End Function Function GetFolderCount(folderPath As String) As Long Dim subFolder As String Dim folderCount As Long subFolder = Dir(folderPath & "*", vbDirectory) Do While subFolder <> "" If subFolder <> "." And subFolder <> ".." Then folderCount = folderCount + 1 End If subFolder = Dir Loop GetFolderCount = folderCount End Function
39.VBAでフォルダ内のファイルや特定フォルダを一括コピー
Sub フォルダ内ファイルコピー() Dim sourceFolderPath As String Dim destinationFolderPath As String Dim file As String ' コピー元のフォルダを指定 sourceFolderPath = "C:\Users\YourUsername\Documents\SourceFolder\" ' コピー先のフォルダを指定 destinationFolderPath = "C:\Users\YourUsername\Documents\DestinationFolder\" ' コピー元フォルダ内のファイルをコピー先に一括コピー file = Dir(sourceFolderPath & "*.*") Do While file <> "" FileCopy sourceFolderPath & file, destinationFolderPath & file file = Dir Loop End Sub
40.複数フォルダのセットを一括コピー
Sub フォルダセットコピー() Dim sourceBaseFolderPath As String Dim destinationBaseFolderPath As String Dim folder As String Dim sourceFolderPath As String Dim destinationFolderPath As String ' コピー元の基準フォルダを指定 sourceBaseFolderPath = "C:\Users\YourUsername\Documents\SourceBaseFolder\" ' コピー先の基準フォルダを指定 destinationBaseFolderPath = "C:\Users\YourUsername\Documents\DestinationBaseFolder\" ' コピー元フォルダのセットを指定 folder = "Folder1" ' 適切なフォルダ名を指定 sourceFolderPath = sourceBaseFolderPath & folder & "\" ' コピー先フォルダのセットを指定 destinationFolderPath = destinationBaseFolderPath & folder & "\" ' コピー元フォルダ内のファイルをコピー先に一括コピー FileCopy sourceFolderPath & "*.*", destinationFolderPath End Sub
41.Wordと連携して資料送付状を作成
Sub 資料送付状作成印刷() Dim wordApp As Object Dim wordDoc As Object Dim ws As Worksheet Dim customerName As String Dim documentPath As String ' Wordアプリケーションの新規作成 Set wordApp = CreateObject("Word.Application") wordApp.Visible = True ' Wordを表示 ' シートと Word ドキュメントの関連付け Set ws = ThisWorkbook.Sheets("Sheet1") ' 適切なシート名を指定 customerName = ws.Range("A1").Value ' 取引先の顧客名が A1 セルにあると仮定 ' Word ドキュメントを作成 Set wordDoc = wordApp.Documents.Add ' Word ドキュメントに内容を追加(例:「資料送付状」) wordDoc.Content.Text = "尊敬する" & customerName & "様" & vbCrLf & _ "お世話になっております。" & vbCrLf & _ "資料をお送りいたします。" & vbCrLf & vbCrLf & _ "敬具" & vbCrLf & _ "(差出人)" ' Word ドキュメントを保存 documentPath = "C:\Users\YourUsername\Documents\送付状_" & customerName & ".docx" wordDoc.SaveAs documentPath ' Word ドキュメントを印刷 wordDoc.PrintOut ' Word アプリケーションを終了 wordApp.Quit ' 解放 Set wordDoc = Nothing Set wordApp = Nothing End Sub
42.Word議事録メモを作成して最前面表示
Sub 議事録メモ作成() Dim wordApp As Object Dim wordDoc As Object Dim memoText As String Dim memoPath As String Dim destinationPath As String Dim ws As Worksheet Dim lastRow As Long ' Wordアプリケーションの新規作成 Set wordApp = CreateObject("Word.Application") wordApp.Visible = True ' Wordを表示 ' シートと Word ドキュメントの関連付け Set ws = ThisWorkbook.Sheets("Sheet1") ' 適切なシート名を指定 lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ' データが入力されている最終行を取得 ' Word ドキュメントを作成 Set wordDoc = wordApp.Documents.Add ' メモ内容を取得 memoText = "" For i = 1 To lastRow memoText = memoText & ws.Cells(i, 1).Value & vbCrLf Next i ' Word ドキュメントに内容を追加 wordDoc.Content.Text = "議事録メモ" & vbCrLf & vbCrLf & memoText ' Word ドキュメントを保存 memoPath = "C:\Users\YourUsername\Documents\議事録メモ.docx" wordDoc.SaveAs memoPath ' Word ドキュメントを最前面に表示 wordApp.Activate ' Word アプリケーションを終了 wordApp.Quit ' 解放 Set wordDoc = Nothing Set wordApp = Nothing End Sub
43.Word操作で差し込み印刷
Sub Word連携_差し込み印刷() Dim wordApp As Object Dim wordDoc As Object Dim ws As Worksheet Dim dataSourcePath As String Dim letterPath As String ' Wordアプリケーションの新規作成 Set wordApp = CreateObject("Word.Application") wordApp.Visible = True ' Wordを表示 ' シートと Word ドキュメントの関連付け Set ws = ThisWorkbook.Sheets("Sheet1") ' 適切なシート名を指定 ' メールマージのデータソースのパス dataSourcePath = "C:\Users\YourUsername\Documents\DataSource.xlsx" ' データソースのExcelファイルを指定 ' ワード文書のテンプレートパス letterPath = "C:\Users\YourUsername\Documents\LetterTemplate.docx" ' ワード文書のテンプレートを指定 ' メールマージ実行 Set wordDoc = wordApp.Documents.Add(dataSourcePath) wordDoc.MailMerge.OpenDataSource Name:=dataSourcePath, ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _ AddToRecentFiles:=False, PasswordDocument:=vbNullString, PasswordTemplate:=vbNullString, WritePasswordDocument:=vbNullString, _ WritePasswordTemplate:=vbNullString, Revert:=False, Format:=wdOpenFormatAuto, Connection:=vbNullString, SQLStatement:=vbNullString, _ SQLStatement1:=vbNullString, SubType:=wdMergeSubTypeAccess wordDoc.MailMerge.MainDocumentType = wdFormLetters wordDoc.MailMerge.OpenHeaderSource Name:=letterPath, LinkToSource:=True, Connection:=vbNullString, SQLStatement:=vbNullString, _ SubType:=wdMergeSubTypeAccess ' 差し込み印刷 wordDoc.MailMerge.Execute ' Word アプリケーションを終了 wordApp.Quit ' 解放 Set wordDoc = Nothing Set wordApp = Nothing End Sub
44.FSOを使ってフォルダ存在をチェックしてフォルダ作成
Sub フォルダ作成() Dim folderPath As String Dim folderName As String Dim newFolderPath As String Dim fso As Object ' フォルダのパスと作成するフォルダ名を指定 folderPath = "C:\Users\YourUsername\Documents" folderName = "NewFolder" ' 適切なフォルダ名を指定 ' FSO (ファイルシステムオブジェクト) を作成 Set fso = CreateObject("Scripting.FileSystemObject") ' 新しいフォルダのパスを作成 newFolderPath = folderPath & "\" & folderName ' フォルダが存在するかチェック If Not fso.FolderExists(newFolderPath) Then ' フォルダを作成 fso.CreateFolder newFolderPath MsgBox "フォルダが作成されました。" Else MsgBox "フォルダは既に存在します。" End If ' FSO を解放 Set fso = Nothing End Sub
45.フォルダ内のファイルや特定フォルダのリストを取得
Sub フォルダ内容取得() Dim folderPath As String Dim fso As Object Dim folder As Object Dim subFolder As Object Dim file As Object Dim ws As Worksheet Dim i As Integer ' フォルダのパスを指定 folderPath = "C:\Users\YourUsername\Documents\FolderContent" ' 適切なフォルダパスを指定 ' FSO (ファイルシステムオブジェクト) を作成 Set fso = CreateObject("Scripting.FileSystemObject") ' 新しいワークシートを作成 Set ws = Worksheets.Add ' フォルダ内の各要素に対して処理 Set folder = fso.GetFolder(folderPath) ' ファイルのリストをワークシートに出力 ws.Range("A1").Value = "ファイル名" i = 2 For Each file In folder.Files ws.Range("A" & i).Value = file.Name i = i + 1 Next file ' 特定のサブフォルダのリストをワークシートに出力 ws.Range("B1").Value = "サブ
まとめ
今回は便利なマクロのコードを45個紹介しました。マクロは作業時間の短縮、ミスの抑制といったさまざまな面で役立ちます。
いちから組むのが苦手な場合でも、ここで紹介したコードを参考にカスタマイズしてみてはいかがでしょうか。 -
Legion Tower 5 Gen 8(AMD)
https://chimolog.co/bto-legion-t5-amd
初めてゲーミングPCデビューする初心者に、予算20万円でおすすめなゲーミングPCを聞かれたら「Legion Tower 5 Gen 8(AMD)」と答えます。
コストパフォーマンスの良いスペック構成、割安価格なのに拡張性も抜かりなし、さらに優れた静音性まで。今まで買ってきたLenovo製ゲーミングPCで過去最高の内容です。
(公開:2024/5/11 | 更新:2024/5/11)
- Legion Tower 5 Gen 8(AMD)の仕様とスペック
- Legion Tower 5 Gen 8(AMD)の梱包と付属品
- Legion Tower 5 Gen 8(AMD)のPCケースデザイン
- Legion Tower 5 Gen 8(AMD)のパーツ拡張性
- Legion Tower 5 Gen 8(AMD)のゲーム性能を検証
- Legion Tower 5 Gen 8(AMD)のクリエイティブ性能
- Legion Tower 5 Gen 8(AMD)のストレージ性能
- Legion Tower 5 Gen 8(AMD)の温度とエアフロー
- まとめ:割安価格なのにライバル製品より高い完成度
やかもち Lenovoリワード(5%)込み、実質19万円で買いました。「値段おかしくないか?」と思ったから買ってみた。
Legion Tower 5 Gen 8(AMD)の仕様とスペック
Legion Tower 5 Gen 8 AMD(RTX 4070)
最新の価格とスペックは公式サイトで確認してください
Legion Tower 5 Gen 8(AMD)
(第5世代AMD Ryzenモデル)CPU Ryzen 7 7700X
(8コア16スレッド)クーラー 空冷(120 mm) グラボ RTX 4070 12GB メモリ 16 GB
(DDR5-5600 / 2枚組)マザーボード AMD B650 SSD 1 TB(NVMe SSD) HDD なし 無線LAN Wi-Fi 6E
(最大2.4 Gbps / BT 5.2 対応)電源 500 W
(80 PLUS Silver 認証)OS Windows 11 Home 保証 1年間(引取修理保証) 参考価格
2024/05時点「Legion Tower 5 Gen 8」は、BTOパソコンの世界最大手メーカー「Lenovo(レノボ)」が販売するゲーミングPCブランドです。
ガレリアやパソコン工房と比較して日本での知名度がかなり低いものの、スペックの割に安い価格が大きなメリット。コストパフォーマンスの高さから、PCスペックをきちんと読めるユーザーから人気を集めています。
たとえば筆者がそうです。スペックと価格を一覧にまとめて、ザッと流し見するとすぐに「Legionだけずいぶんとコスパが良いな」と気づきます。逆に言えば、案件動画を流し見している層だとLegionの存在自体に気づかないでしょう。
初心者もち Ryzen 7 7700XとRTX 4070で実質19万円が安いのかイマイチよくわからないや・・・
RTX 4070はRTX 3080に匹敵するゲーミング性能(→ 性能比較)があり、同じ価格帯のBTOパソコンでよく組み合わせられるCore i5 14400FやRyzen 7 5700X程度のCPUではフレームレートを引き出しづらいです。
一方、Legion Tower 5 Gen 8に搭載されたRyzen 7 7700X(第5世代)はCore i7 13700にあと一歩のゲーミング性能を持ちながら、ゲーム時の消費電力が半分くらいで済みます。
少ない消費電力(放熱)でパワフルな性能を実現できるCPUです。消費電力が少なく済むから各種パーツにかかるコストも節約でき、結果的にスペックの割に安い価格が可能になる要因です。
だからコストパフォーマンスが良いです。コストパフォーマンスは「支払った金額に対する実効性能」を意味するキーワードで、決して値段が安いだけを意味しません。
同じ値段でも出せる性能が高ければ高いほど、コストパフォーマンスが高いといえます。
やかもち しかも標準スペックで「Wi-Fi 6E」「低遅延 2.5G LAN」「容量1 TBのPCIe 4.0(7000 MB/s)SSD」など、トレンドな仕様に対応します。
Legion Tower 5 Gen 8(AMD)の梱包と付属品
Lenovo公式通販で4月22日に注文して、2日後の24日に到着しました。「最短1~2営業日で出荷」と記載しているとおり、スピーディーな納期でよかったです。
段ボール一面に「LEGION」とインパクトの太い英字フォントが印刷されています。
梱包
クリックで画像拡大ゲーミングPC本体の梱包状況です。薄いポリ袋で本体をつつみ、分厚い高密度スチロールの緩衝材でハンバーガー状態です。よほど配送で雑に扱われても、そう簡単にキズはつかないでしょう。
付属品
クリックで画像拡大- サポートの案内
- PCリサイクルの申し込み書類
- 説明書
- 電源ケーブル(2ピン変換付き)
付属品は以上です。必要最低限の付属品が揃っています。
SATAデバイス(SSDやHDD)の増設に必要な各ケーブル類は、すでにPCケース内部にそれぞれ2本ずつ装着済みです。別途購入する必要はありません。
Legion Tower 5 Gen 8(AMD)のPCケースデザイン
5 mm厚ガラスサイドパネルのデスクトップ筐体
最近のトレンドを意識したデザインを盛り込んだデスクトップ筐体です。
サイドパネルに強化ガラス製サイドパネル(5 mm厚)を使い、ケース内部が透けて見えるオシャレな構成。ブサイクな印象を与えるケーブルが見えないように、仕切り板を増設して目隠しする工夫まで施されています。
ケーブルを隠すための仕切り板はグラフィックボードにケースファンの風が当たりやすくする効果もあり、実用面でのメリットも考慮済みです。
- 高さ:44.0 cm
- 横幅:20.5 cm
- 奥行き:39.4 cm
- 容量:約35.5リットル
メジャーでLegion Tower 5 Gen 8のサイズを測定しました。割とよくある中型サイズ(ミニタワー型)のPCケースです。
コントロール可能なLEDライティングを搭載
電源をいれると、LEDライティングで光ります。強化ガラスサイドパネルに若干スモーク加工が入っているらしく、LEDの光だけがケース外に透過してくる印象です。
フロントパネルの「LEGION」ロゴ、120 mm径ケースファン(2個)も光ります。
リアパネル(背面)側の120 mm径ケースファンも光っています。よく見ると、ガラスサイドパネルの裏側も少しだけ光っていて、ケース内部をうっすらと照らす効果が。
プリインストールアプリ「Lenovo Vantage」から、LEDライティングをコントロール可能です。
- 120 mm径ケースファン(フロント)
- 120 mm径ケースファン(リア)
- CPUクーラーのファン
- サイドパネル裏側
- グラフィックボード
標準スペックで搭載されているパーツであれば、すべてコントロールできます。もちろん「消灯」もできます。
PCケースのデザインをもう少しチェック
フロントパネルは外気をよく吸い込める「ハニカム構造」を採用。Apple Mac Proのおろし金を彷彿とさせるデザインです。
リアパネル(背面)もマットブラックカラーのパーツで統一され、安物PCにありがちなダサい印象を排除します。
各種ロゴマークがフロントパネルの意匠にうまく取り入れられています。
トップパネル(天板)に排気用スリット(通気口)が設けられています。天板に何か置いて遮るとエアフローが悪化して、ケース内部の温度がこもってしまうので注意。
ケース底面に、電源ユニットを効率よく冷やす吸気用スリット(通気口)が設けられています。ホコリの侵入を防ぐ防塵フィルターも取り付け済み。
滑り止めと制震をかねる、奥行きの長いゴム足を合計4本取付済みです。滑り止めの効果がかなり強いので、PC本体をうっかり押すと横に倒れます。
デザイン(4面)
クリックで画像拡大Legion Tower 5 Gen 8(AMD)のデザインをまとめて掲載します。
好みの問題もあるので一概に言えないですが、個人的にまったく不満ないデザインです。LEDライティングも派手すぎず程よく、設定ソフトから消灯もできます。
強化ガラス製サイドパネルは実測5 mm厚で、キズがつかないよう保護シートが貼ってあります。
サイズ感の比較です。PS5(初期型)より一回り大きいです。
インターフェイスの内容
トップパネル正面に各インターフェイスが上向きに配置されています。
5 Gbps対応のUSBポートが2つ、ヘッドセットやマイクをそのままつないで使える3.5 mmオーディオ端子が2つです。
インターフェイスが天井向きに配置されているため床置きでも抜き差ししやすいです。
リアパネル(背面)
クリックで画像拡大LEDライティングボタンUSB 10 Gbps(2ポート)USB 10 Gbps Type-CUSB 5 Gbps(2ポート)USB 2.0(2ポート)LANポート(2.5G LAN)オーディオ入出力(3.5 mm)HDMI 2.1Display Port 1.4aDisplay Port 1.4aDisplay Port 1.4a リアパネル(背面)のインターフェイスです。USBポートが合計7ポート、内USB 5~10 Gbpsポートが5ポートです。
LANポートはRealtek製2.5G LANチップ搭載で最大2500 Mbpsの通信速度に対応。
最大2400 Mbps対応のWi-Fi 6Eアンテナはケース外部に設置されておらず、ケースの内部に埋め込んでいるタイプです。
USBポートの性能
クリックで画像拡大高速SSD「Samsung 980 PRO」を最大40 Gbps対応のSSDケース(ASM2464PDコントローラ)に搭載して、Legion Tower 5 Gen 8のUSBポートの性能をベンチマークしました。
USB 10 Gbpsポートで最大1000 MB/s近くまで確認、リアパネルのUSB 5 Gbpsはなぜか10 Gbps相当で動作します。フロントパネルのUSB 5 Gbpsは問題なく5 Gbps相当です。
USB 10 Gbpsポートでゲームフォルダをコピーすると、平均650 MB/sくらいです。ポータブルSSD経由でゲームも安定して動きます。
Satechi USB4エンクロージャー(ASM2464PD)
Satechi / コントローラ:ASM2464PD / 規格:USB4(40 Gbps)/ 対応SSD:NVMe(M.2 2280~2230)
インターネット性能
クリックで画像拡大eo光10G(回線レビュー)とWi-Fi 6ルーターの組み合わせで、LANポートと無線LAN(Wi-Fi)の性能をチェック。
LANポート(Realtek RTL8125)は実測2350 Mbpsまで確認でき、ほぼスペックどおりです。無線LAN(MediaTek RZ616)は実測950 Mbpsまで確認でき、理論値の80%に相当します。
Legion Tower 5 Gen 8(AMD)のパーツ拡張性
ケースを開けて中身を見てみよう
ガラスサイドパネルを取り外します。背面側にある2本のプラスネジを、プラスドライバーで回して外すだけです。
VESSEL / 長さ : 200mm / 先端 : マグネット / 規格 : プラス2×100
ネジを十分にゆるめたら、後ろへスライドするようにサイドパネルをズラして取り外し完了。
ガラスサイドパネル側から見た、Legion Tower 5 Gen 8のケース内部です。
反対側のサイドパネルも同じ手順で取り外しました。10 mm程度のゆったりとした裏配線スペースがあり、指で曲げられる柔らさかの金属製ケーブルホルダーがあちこちに配置されています。
PCパーツになるべく最短距離でアクセスできるよう、ケーブルホール(配線穴)も設けられており、まるで自作PC向けに設計されたケースに仕上がっています。
ケーブル隠しをかねている仕切り板を外します。プラスドライバーで2本のネジを外すだけです。
プラスチック製の仕切り板です。
PCケースの中がよく見えます。
フロントパネルは手で掴んで、持ち上げるように引っ張るとパキッと剥がれます。
ケースファンを交換したり、マグネット式の防塵フィルターを付けたり自分でカスタマイズ可能です。
120 mmサイズ マグネット防塵フィルター(SST-FF123B)
SilverStone / マグネット式 / 120 mm用 / 3枚入り
必要十分なパーツ拡張性を備えます
マザーボードの拡張性
クリックで画像拡大M.2スロット(すでに使用済み)SATAポート(2個)PCIe x16スロット(すでに使用済み)M.2スロットPCIe x4スロットM.2スロットSATAポートSATAポート 拡張スロットの詳細な仕様について
中型サイズ(Micro-ATX規格)のLenovo特注マザーボードを搭載します。型番は「LENOVO 3768」、AMD B650チップセット搭載モデルです。
マザーボードの面積そのものは狭いですが、必要十分なパーツ拡張性を備えています。
- M.2 SSD:あと2個
- 拡張ボード:あと1個
(キャプチャボードやサウンドカードなど) - SATA HDD or SATA SSD:あと4個
(ケースの制約でHDDは最大2台まで)
あとから最大4台のストレージを増設でき、キャプチャボードやサウンドカードはあと1枚まで増設できます。
メモリスロットはDDR5規格に対応。全部で4スロットあり、内2スロットが使用済みです。
メモリの増設(交換)
Crucial / DDR5-5200 / 16 GB(2枚組)/ 備考:互換性の高いネイティブ規格品
メモリの増設について解説します。
今回はDDR5規格のメモリなので、空いているスロットにそのまま増設ではなく、すでに取り付けてあるDDR5メモリを丸ごと交換します。
メモリスロットの留め具(ロック)を指でグッと押して外します。
反対側の留め具(ロック)も外します。
留め具(ロック)を外したら、指でつまんで引っ張るだけでDDR5メモリが抜けます。
最初から付いていたDDR5メモリを2枚とも抜きました。
交換するDDR5メモリをメモリスロットに挿し込みます。
指でグッと押し込んでください。上下の留め具(ロック)がカチッと勝手に閉じるまで、力強く指で抑えてください。中途半端な挿し込みはエラーや故障の原因です。
上下の留め具(ロック)がカチッと最後まで閉まりました。
同じ手順で、もう1枚のDDR5メモリも取り付けます。
以上の手順で、メモリの容量が16 GB → 32 GBへ増えました。
残った2枚のDDR5メモリについてですが、(万が一)メーカー保証を受けるときに備えて残しておくと良いでしょう。
M.2 SSDの増設
M.2 SSDの増設を解説します。
マザーボードの一番下にある「M.2ヒートシンク」をいったん取り外しますが、注意点がひとつ。左右のネジで規格が微妙に違ってるので、規格の違うプラスドライバーが2本必要です。
左のネジが「プラス0(PH0)」規格、いわゆる精密プラスドライバーが必要です。
アネックス / 長さ : 144mm / 規格 : プラス00×50
右のネジは「プラス1(PH1)」規格のプラスドライバーが必要です。
ベッセル(VESSEL) / 長さ : 153mm / 規格 : プラス1×75 / 備考 : M.2スロット用の固定ネジでよく使う
M.2ヒートシンクを無事取り外せました。
SSDの熱伝導率を高めるサーマルパッドが付属します。
空いたM.2スロットに、増設したいM.2 SSD(NVMe SSD)をやや斜めの角度から挿し込みます。
挿し込んだM.2 SSDごと、M.2ヒートシンクを取り付けて固定してしまいます。
以上の手順でM.2 SSDの増設が完了。とてもかんたんです。
中央のM.2スロットは、ネジ穴に最初から取り付けてある「小ネジ」を使って固定できます。わざわざAmazonで小ネジを買ってこなくて大丈夫です。
Western Digital / NAND : KIOXIA製 112層 3D TLC NAND / 性能 : 最大5150 MB秒 / 容量 : 1TB / 耐久性 : 600 TBW / 保証 : 5年
SATA SSDの増設(2.5インチ)
SATA SSD(2.5インチ)の増設を解説します。
裏配線スペース側にある、薄い金属でできたトレイが「2.5インチマウントベイ」です。
プラスドライバーで固定ネジを1本外すとかんたんに取り外せます。
2.5インチマウントベイに標準で付いている4本の小ネジを外します。プラス1(PH1)規格のプラスドライバーがあると回しやすいです。
ベッセル(VESSEL) / 長さ : 153mm / 規格 : プラス1×75 / 備考 : M.2スロット用の固定ネジでよく使う
増設したいSATA SSDを2.5インチマウントベイにセットして、先ほど外した4本の小ネジで裏側から固定します。
2.5インチマウントベイをもとあった位置に戻して、ネジで固定します。
PCケースの中から「SATAケーブル」と「SATA補助電源ケーブル」を探し出して、SATA SSDに接続して増設完了です。
Samsung / NAND : Samsung製128L TLC NAND / 性能 : 最大560 MB秒 / 容量 : 2 TB / 耐久性 : 1200 TBW / 保証 : 5年
SATA HDDの増設(3.5インチ)
PCケースの底面に「3.5インチマウントベイ」が2台あります。3.5インチ規格のSATA HDDや、2.5インチ規格のSATA SSDを増設できるトレイです。
指でつまんで引っ張るだけで、3.5インチマウントベイを取り外せます。
増設したいSATA HDDを、マウントベイにはめ込み固定します。
SATA HDDを固定したら、3.5インチマウントベイをもとの位置に戻します。
PCケースの配線から、「SATAケーブル」と「SATA補助電源ケーブル」を探して引っ張り出してください。
SATA HDDに2本のケーブルを接続して完了です。
Western Digital / 容量 : 8 TB / 記録方式 : CMR / 回転数 : 5640 rpm / バッファ : 128 MB / 保証 : 2年 / 備考 : 製造元はHGST
搭載パーツを詳しく見てみる
LEDライティングに対応する「120 mm空冷CPUクーラー」を標準搭載します。
冷却性能に優れるサイドフロー型で、リアパネル(背面)に設置された120 mm径ケースファンで熱をケース外へ放出する流れです。
1 / 3
搭載グラフィックボードは「RTX 4070」です。ボードの製造元(OEM)はおそらく台湾MSI(微星)だと思われます。
金属製バックプレートで基板の放熱性と強度(歪み耐性)を補強し、経年によるボードのたわみや配送時の揺れに対する保険としてVGAサポートステイも取付済みです。
全長228 mmと比較的コンパクトなサイズですが、厚み51 mmの分厚いボードデザインに90 mm径デュアルファンを搭載して、冷却性能もしっかり稼ぐ狙いが見られます。
やかもち すごくしっかりした作りのAIBモデルが入ってて(いい意味で)驚きました。割安価格のBTOなら、普通は厚み40 mm程度しかない廉価モデルを使います。
1 / 3
電源ユニットはHuntkey製「HK600-15PP」が搭載されています。
変換効率がピーク時88%を超える80 PLUS SILVER認証を取得している、スタンダードな電源ユニットです。
横幅が150 mm、高さが86 mm、奥行き140 mmのATX規格電源です。市販されている自作PC向けの電源ユニットとまったく同じ規格なので、(やる気と技術があれば)別の電源ユニットに交換できます。
電源ユニットの設置スペースは奥行きがかなり狭いです。ケーブルを置いておくスペースを考慮すると、奥行き140 mmがほとんど上限です。
ケーブルを少なくできるプラグイン方式の電源なら奥行き160 mmまで、ギリギリ収納できるかもしれませんが・・・おすすめしません。
初心者もち 容量500 Wで大丈夫なの?足りる?
やかもち 余裕です。ゲーミング時の消費電力はせいぜい300 W(実測済み)だったから、まったくもって余裕。何も不安はありません。
電源ユニットから伸びているケーブルは必要最低限の内容です。
SATAデバイス(SATA HDDやSATA SSD)の増設に必要な「SATA補助電源コネクタ」は全部で5個あります。
グラフィックボードに使う「PCIe 6 + 2 pin」ケーブルが2個あり、ハイエンドなグラフィックボードに対応できます。
「RTX 4070 Ti SUPER」や「RTX 3080」など、上位モデルに交換が可能です。
ただし、搭載できるボード全長は308 mmまで。フロントパネルのケースファンを1個外せば、25 mm増えて333 mmまで搭載可能です。
やかもち Legion Tower 5 Gen 8(AMD)モデルは、ほとんど標準規格のPCパーツだけで構成されています。パーツの交換・増設がかんたんです。
【マニア向け】UEFI BIOS画面について
パソコンの電源ボタンを入れたら、すぐにF1連打でLegion Tower 5 Gen 8のUEFI(BIOS)画面を開けます。
基本的にプリインアプリの「Lenovo Vantage」でたいていの設定ができるので、一般人はアプリからどうぞ。UEFIから設定したいマニアな方は以下のガイドを確認してください。UEFI BIOS画面について
Legion Tower 5 Gen 8(AMD)のゲーム性能を検証
ベンチマーク時のスペック
(第5世代AMD Ryzenモデル)CPU Ryzen 7 7700X
(8コア16スレッド / 最大5.4 GHz)グラボ RTX 4070 12GB メモリ 32 GB
(DDR5-4800 / 2枚組)ドライバ NVIDIA 551.86 WHQL ゲーミングモニター INNOCN 27M2V
(3840 x 2160 / 160 Hz)「Legion Tower 5 Gen 8(AMD)」のゲーミング性能を実際にテストします。
定番ベンチマークで性能チェック
定番ベンチマーク
「3DMark」設定 GPUスコア 画像 FireStrike
軽いゲーム向け42247 TimeSpy
重たいゲーム向け17142 Port Royal
レイトレゲーム向け10741 Speed Way
重量級ゲーム向け4276 ゲーム性能をチェックする定番ベンチマークソフト「3DMark」でざっくり性能をスコア化します。
フルHDゲーム向けの「FireStrike」は約42000点超えで、フルHDゲーミングなら平均200 fps程度を狙える性能です。設定次第で240 fpsも狙える目安です。
重量級ゲーム向けの「TimeSpy」は約17000点ほど、最高画質でWQHD(2560 x 1440)ゲーミングを快適に動かせます。
レイトレの性能をはかる「Port Royal」は約10700点で平均的なスコア。フルHDのレイトレなら快適にプレイでき、WQHD以上は「NVIDIA DLSS」を使わないと厳しいです。
「FireStrike」のスコアで他のグラフィックボードを比較してみた。
Legion Tower 5 Gen 8(RTX 4070)の性能は、1世代前のハイエンドモデル「RTX 3080」をやや上回るスコアです。
定番ベンチマーク
「FF14:黄金のレガシー」設定 スコア 画像 1920 x 1080
最高品質22927
平均166.7 fps2560 x 1440
最高品質17155
平均121.0 fps「FF14:黄金のレガシー」を最高品質でテストした結果、スコアは約23000点(平均167 fps)でした。FF14を快適にプレイできます。
実際にゲームをプレイして性能をテスト
Apex Legends
射撃訓練場でテストフルHD
(中設定)平均237 fps
(下位1%:137 fps)フルHD
(最高設定)平均207 fps
(下位1%:124 fps)WQHD
(最高設定)平均158 fps
(下位1%:87 fps)Apex Legendsは中設定で平均237 fpsでプレイできます。実際のプレイだと、もう少しフレームレートが伸びる場合があります。
グラフィック設定を調整して平均300 fps前後も十分に狙えます。
Escape from Tarkov
マップ「Streets of Tarkov」でテストフルHD
(カスタム設定)平均143 fps
(下位1%:110 fps)WQHD
(カスタム設定)平均100 fps
(下位1%:72 fps)4K
(カスタム設定)平均54 fps
(下位1%:44 fps)4K
(DLSS:バランス)平均97 fps
(下位1%:82 fps)タルコフはやや高画質な競技設定で固定。フルHDで平均143 fps、WQHDで平均100 fpsでプレイ可能でした。
オーバーウォッチ2
マップ「KING’S ROW(4 vs 4)」で撃ち合いフルHD
(エピック設定 / 100%)平均227 fps
(下位1%:150 fps)WQHD
(エピック設定 / 100%)平均157 fps
(下位1%:112 fps)4K
(エピック設定 / 100%)平均84 fps
(下位1%:64 fps)オーバーウォッチ2はエピック設定(レンダリング100%)でテスト。フルHDで平均227 fps、WQHDで平均157 fpsでした。
VALORANT
マップ「トレーニングエリア」でテストフルHD
(最高設定 + MSAA x4)平均684 fps
(下位1%:264 fps)WQHD
(最高設定 + MSAA x4)平均503 fps
(下位1%:256 fps)4K
(最高設定 + MSAA x4)平均278 fps
(下位1%:203 fps)VALORANTは最高設定で平均684 fps、WQHDでも平均500 fps前後、余裕すぎる動作です。
Rainbow Six Siege
ベンチマークモードフルHD
(最高設定 / 100%)平均348 fps
(下位1%:251 fps)WQHD
(最高設定 / 100%)平均218 fps
(下位1%:165 fps)4K
(最高設定 / 100%)平均103 fps
(下位1%:88 fps)レインボーシックスシージはフルHDで平均348 fps、WQHDで平均218 fpsでプレイ可能でした。
ARMORED CORE VI(AC6)
マップ「武装採掘艦破壊」でテストフルHD
(最高設定)平均117 fps
(下位1%:96 fps)WQHD
(最高設定)平均105 fps
(下位1%:91 fps)4K
(最高設定)平均58 fps
(下位1%:51 fps)アーマードコア6は最高設定で平均117 fps、WQHDで平均105 fpsでした。
サイバーパンク2077
ベンチマークモードでテストフルHD
(最高設定)平均113 fps
(下位1%:78 fps)WQHD
(最高設定)平均71 fps
(下位1%:55 fps)4K
(最高設定)平均26 fps
(下位1%:20 fps)4K
(DLSS:生成)平均55 fps
(下位1%:44 fps)サイバーパンク2077はフルHDで平均113 fps、WQHDは平均71 fpsでした。4Kゲーミング時に平均60 fpsを大きく割りますが、DLSS:バランス(フレーム生成)を適用すると平均60 fps近くまで改善します。
パルワールド
マップ「兎花山山頂」でテストフルHD
(最高設定)平均108 fps
(下位1%:60 fps)WQHD
(最高設定)平均84 fps
(下位1%:68 fps)4K
(最高設定)平均47 fps
(下位1%:40 fps)パルワールド(PalWorld)は最高設定のフルHDで平均108 fps、WQHDで平均84 fpsでした。4Kでプレイすると平均60 fpsを割ってしまうので、DLSS:バランスモード適用をおすすめ。
ELDEN RING
マップ「ケイリッド地方」でテストフルHD
(高設定)平均144 fps
(下位1%:127 fps)WQHD
(最高設定)平均118 fps
(下位1%:105 fps)4K
(最高設定)平均68 fps
(下位1%:60 fps)ELDEN RINGは最高設定で平均144 fps、WQHDで平均118 fpsでした。
ドラゴンズドグマ2
フィールド「アレス山麓」でテストフルHD
(最高設定)平均95 fps
(下位1%:83 fps)WQHD
(最高設定)平均79 fps
(下位1%:70 fps)4K
(最高設定)平均50 fps
(下位1%:46 fps)ドラゴンズドグマ2は平均95 fps、WQHDで79 fpsでプレイできます。
4Kだと平均60 fpsを割り込みます。設定からDLSSモードを有効化がおすすめです。
モンスターハンターワールド:アイスボーン
マップ「古代樹の森」でテストフルHD
(最高設定 + HiRes)平均108 fps
(下位1%:60 fps)WQHD
(最高設定 + HiRes)平均84 fps
(下位1%:68 fps)4K
(最高設定 + HiRes)平均47 fps
(下位1%:40 fps)モンハンワールド:アイスボーン(High Resolution Texture Packを適用済み)は、フルHDで平均108 fps、WQHDで平均84 fps前後でした。
4Kゲーミングは平均60 fpsを割ってしまいます。設定からDLSSモード有効化をおすすめします。
原神(Genshin Impact)
マップ「神に捨てられた殿閣」でテストフルHD
(最高設定 + MSAA x16)平均251 fps
(下位1%:137 fps)WQHD
(最高設定 + MSAA x16)平均216 fps
(下位1%:143 fps)4K
(最高設定 + MSAA x16)平均129 fps
(下位1%:94 fps)原神は最高設定(精度1.5 / シーン細部:最高 / MSAA x16)、マップ「神に捨てられた殿閣」にてテスト。フルHDで平均251 fps、WQHDで平均216 fps、4Kですら平均129 fpsで安定した動作です。
ストリートファイター6
「LUKE vs RYU」でテストフルHD
(ULTRA設定)平均60 fps
(下位1%:56 fps)WQHD
(ULTRA設定)平均60 fps
(下位1%:56 fps)4K
(ULTRA設定)平均60 fps
(下位1%:56 fps)ストリートファイター6(FIGHTING GROUNDモード:60 fps上限)は、フルHDで平均60 fps、4Kも同じく平均60 fpsです。
VRChat
「Yayoi Forest House」でテストフルHD
(Ultra x8設定)平均214 fps
(下位1%:178 fps)WQHD
(Ultra x8設定)平均145 fps
(下位1%:123 fps)4K
(Ultra x8設定)平均74 fps
(下位1%:66 fps)VRChat(Ultra x8設定)はフルHDで平均214 fps、WQHDで平均145 fps、4K解像度で平均74 fpsでした。Valve Indexなど、高解像度なVR HMDでプレイするには設定を妥協しないと平均60 fpsに届かないです。
マインクラフト
筆者のオリジナルマップでテストフルHD
(16チャンク)平均80 fps
(下位1%:70 fps)WQHD
(16チャンク)平均80 fps
(下位1%:69 fps)4K
(16チャンク)平均53 fps
(下位1%:49 fps)マインクラフト(Bedrock Edition / Vanilla RTXシェーダー / 描画距離16チャンク)は、フルHDで平均80 fps、WQHDも平均80 fpsです。4K解像度で60 fps維持は微妙に届かないです。
設定から「アップスケール(NVIDIA DLSS)」を有効化すると、4Kで平均60 fpsも余裕でした。
やかもち 「RTX 4070」はほとんどのゲーム、解像度設定で快適にプレイできます。NVIDIA DLSS対応ゲームであれば、4Kゲーミングもそこそこ快適です。
Legion Tower 5 Gen 8(AMD)のクリエイティブ性能
レンダリング / 動画エンコード
CPUの定番ベンチマーク「Cinebench R23」の比較です。
今回のレビュー機に入ってるCPU「Ryzen 7 7700X」は8コア16スレッドのCPUで、従来のRyzen 7から約1.4倍の性能に。
サクサクとした体感性能に影響が大きいシングルスレッド性能の比較です。「Ryzen 7 7700X」のシングルスレッド性能は過去のレビューでトップクラスです。
動画エンコードは無料ソフト「Handbrake 1.42」を使って検証します。容量が約1 GBのフルHDアニメを「Fast 480p30(x264)」でエンコード。
かつてハイエンドだったCore i9 10900K(10コア)やCore i7 11700(8コア)以上のエンコード性能です。消費電力は100 W前後で、ワットパフォーマンスも高いです。
やかもち 今のところ最速クラスの8コアCPUで、体感性能がサックサク。ゲーム性能もかなり優秀です。
オフィスワーク
Microsoft Office
「PCMark 10 Pro」でベンチマークEdge 15865 Word 11679 Excel 22347 PowerPoint 16131 総合スコア 16253 PCMark 10 Pro版を使って、オフィスワークの代表例「Microsoft Office」の処理速度をチェック。
「Legion Tower 5 Gen 8(AMD)」の結果は「16253点」です。PCMark 10公式の目安である4500点を大幅に超えているため、オフィスワーク性能は十分すぎます。
PCMark 10
Video Conference(ビデオ会議)総合スコア 84515000点以上ならOK ビデオチャットの快適度 29.9 /30.00 fps PCMark 10の「Video Conference(ビデオ会議)」モードを使って、ビデオチャットの快適さをテストしました。
結果は8451点で、5000点以上を余裕でクリア。複数人とビデオチャットを同時に行った場合の、映像のスムーズさ(フレームレート)はほぼ30 fpsで、上限の30 fpsに迫ります。ビデオ通話も余裕です。
写真編集
Adobe Photoshop CC
「Puget Bench」でベンチマーク総合スコア
Overall Score1518.4/1000 一般処理のスコア
General Score142.7 フィルタ系のスコア
Filter Score164.2 GPUスコア
GPU Score175.3 写真編集は「Photoshop CC」で処理速度をテスト。Puget Systems社が配布しているベンチマーク用のバッチファイル※を使い、実際にPhotoshopを動かして性能をスコア化します。
Photoshopベンチのスコアは「1518.4点」です。1000点満点を大幅に超える余裕あるスコアで、Photoshopの基本的なタスクをサクサクとこなせます。
ただし、扱う写真のサイズによってはメモリ容量が不足する可能性はあります。
AIイラスト
Stable Diffusion Web UI
AIイラストベンチマークSD 1.5 Benchmark
(512 x 768サイズ)2.2秒/1枚あたり SDXL Benchmark
(1024 x 1536サイズ)10.0秒/1枚あたり 最近流行りのAIイラスト(Stable Diffusion Web UI Forge版)の生成時間をベンチマークします。
SD 1.5モデル(512 x 768サイズ)は1枚あたり平均2.2秒でした。負荷の重たいSDXLモデル(1024 x 1536サイズ)では、1枚あたり平均10.0秒まで伸びます。
RTX 4070のVRAM容量が12 GBなので少し心もとないと思いきや、VRAMの利用効率がいいForge版なら問題なくAIイラストを生成可能です。
【Stable Diffusion】AIイラストにおすすめなグラボを検証
ゲーム実況配信
OBSの設定
※画像クリックすると拡大しますエンコーダ:NVENC H.264レート制御:CBRビットレート:6000 kbpsキーフレーム:2秒プリセット:P4 Medium心理視覚:有効Bフレーム:2 エンコーダ:NVENC H.264レート制御:VBRビットレート:6000 kbpsキーフレーム:2秒プリセット:P5 Slow心理視覚:有効Bフレーム:2 ゲーム実況配信の定番ソフト「OBS Studio」を、グラフィックボードを使って快適に動くかどうかをチェックします。
OBSの録画配信は非常に負荷が重たいリアルタイムエンコードですが、グラボに搭載されているハードウェアエンコード機能を使うと、CPUにほとんど負荷をかけずに快適な録画と配信が可能です。
GeForce系のグラボは「NVEnc」、Radeon系だと「VCE」と呼ばれるハードウェアエンコード機能でリアルタイムなエンコードができます。
OBSの設定
解像度はフルHD(1920 x 1080)、フレームレートは60 fps、ビットレートは6000 kbps(最大9000 kbps)です。配信をCBR形式、録画をVBR形式で同時に実行します。
テストに使用するゲームは「Apex Legends(最高設定)」で、ゲーム側にフレームレート上限をかけてテストします(※上限なしだとエンコードが安定しない場合があるため)。
設定 ドロップフレーム率 普通にプレイ 0% 録画と配信(60 fps) 0% 録画と配信(240 fps) 0% 録画と配信(無制限) 0% Legion Tower 5 Gen 8(AMD)のゲーム配信性能は非常に安定しています。
フレームレート制限に関係なく、ドロップフレーム率(コマ落ち)が0%です。配信時のフレームレート低下は1割くらいで問題なし。高いフレームレートを維持したまま安定したゲーム実況配信ができます。
デスクトップ画面とプリインアプリ
初回起動時のデスクトップ画面はまっさらな状態です。
- Lenovo Vantage
- Lenovo Now
- Legion Arena
- マカフィーリブセーフ
主なプリインアプリは以上4つです。
セキュリティソフトはWindows付属の「Defender」で十分すぎるほどに高性能なので、有料のマカフィーはまっさきに削除します。
「Lenovo Vantage」は、ゲーミングPCのデバイス情報やドライバーの更新、メーカー保証の残り期間やサポートの依頼まで。LenovoのゲーミングPCに関する包括的な管理アプリです。
「サーマルモード設定」で、CPUクーラーのファン回転数をコントロールできます。
温度ごとにファンの回転数を入力して、自分好みのファンカーブも適用可能です。
CPUファンのほか、各ケースファン(フロントとリア)の回転数も設定できます。
やかもち 出荷設定でそこそこ静かだけど、自分で設定をカスタムしてさらなる静音化も可能です。
「照明」メニューから、LEDライティングをかなり自由に設定できます。
パーツごとに光り方(パターン)、LEDの明るさ、点灯する速度(周期)まで細かく設定できます。
すべてのLEDライティングをオフにして「消灯」も可能です。
デバイス情報を表示する画面です。
ソフトウェアの状況にある「システムアップデート」から、利用できるアップデートを確認できます。BIOSアップデートもここから可能です。
右上にある「サポート」タブから、メーカー保証を確認できます。保証期間は残り14ヶ月と表示されています。
Lenovo製品のメーカー保証は個人ではなく、パソコン本体に紐づけられているため、個人情報や購入明細を必要としません。何も個人情報を入れていないのに、保証期間がきちんと表示され機能する仕様です。
サポート画面から、Lenovo純正の保守パーツの購入も可能です。
ただし、保守パーツの単品価格は見ての通りボッタクリ価格です。実際に買った人はほとんどいないと思います。
「Nahimic」オーディオ画面で、5.1 chバーチャルサラウンド機能やオーディオイコライザーの設定ができます。
購入特典もチェックできます。今回買ったLegion Tower 5 Gen 8(AMD)の場合、Amazon Music Unlimitedが3ヶ月無料(3240円相当)で始められる特典でした。
「Legion Arena」アプリは、ゲーミングPCにインストールされたゲームソフトを自動で認識して、一覧にまとめて表示するゲームランチャーです。
Steamを使っているゲーマーならほとんど出番がなく、使いどころが思いつかないアプリです。削除してしまっていいように思います。
Legion Tower 5 Gen 8(AMD)のストレージ性能
ストレージ 詳細 ベンチマーク SSD 「Legion Tower 5 Gen 8(AMD)」に入ってる標準ストレージは容量1 TB(1024 GB)のNVMe SSDです。
SSDの型番は「SK Hynix HFS001TEJ9X102N」、SK Hynixが製造する3D TLC NAND搭載のハイエンドNVMe SSDです。市販モデルだと「SK Hynix Platinum P41」に相当します。
割安価格のゲーミングPCに・・・ずいぶんと豪華なNVMe SSDを搭載していて衝撃です。
ベンチマーク結果は読み込みが約7360 MB/s、書き込みは約6000 MB/sを叩き出し、一般的なSATA SSDより10~14倍も高速なNVMe SSDです。
M.2スロットはあと2つ空きがあります。
容量が不足してきたら、自分でM.2 SSD(NVMe SSD)を買ってきてM.2スロットに挿し込むだけで容量を増やせます。
やかもち メーカーでカスタマイズすると料金がかなり割高です。もっと容量が欲しい人はSSDを別に買ってきてセルフ増設を推奨します。
Legion Tower 5 Gen 8(AMD)の温度とエアフロー
Legion Tower 5 Gen 8(AMD)のエアフロー設計をわかりやすく写真に書き込んでみた。
フロントパネルの吸気用スリットから、2つのケースファンで外気をケース内部へ取り込み、リアパネルのケースファンとケース上部の排気用スリットから熱を逃がす流れです。
ゲーミングPCで定番のシンプルで一方通行なエアフローが構築されています。
30分間ゲームを起動したまま放置すると、CPUの温度が50℃前後、グラフィックボードの温度は68℃前後で飽和(温度上昇の停止)を確認できます。
温度による性能低下(サーマルスロットリング)も特に発生せず、とても安定した動作です。最初から取付済みのケースファンで十分なエアフローを得られています。
サーモグラフィーカメラ
各パーツに異常な発熱がないかマザーボード周辺
(45℃前後:異常なし)グラフィックボード
(70℃前後:異常なし)電源ユニット内部
(70℃前後:異常なし)長時間のストレステスト完了後に、ケースを開けてサーモグラフィーカメラでPCパーツの表面温度をチェックします。
マザーボード周辺は大きなヒートシンクとエアフローの効果で、ゲーミング程度の負荷では温度が上昇しづらいです。グラフィックボード本体も特に異常な発熱は見られません。
電源ユニット内部の温度も普通、もっとも熱いエリアで70℃で特に異常なし。
動作温度をチェック
CPU温度をテスト
(気温:22.5℃)レンダリング中
(CR23ベンチマーク)ゲームプレイ中
(3DMark Speed Way)最大:80℃
平均:79℃最大:79℃
平均:50℃CPUベンチマーク中のCPU温度は平均79℃(最大80℃)で、ゲームプレイ中だと平均50℃(最大79℃)でした。
Legion Tower 5 Gen 8(AMD)に搭載されたRyzen 7 7700Xは、高負荷時に100 W前後まで消費電力が上昇します。100 W程度しか熱が出ないため、付属品の「120 mmサイドフロー型空冷クーラー」で問題なく冷やし切れます。
グラフィックボードの温度をテスト
(気温:22.5℃)ゲームプレイ中
(3DMark Speed Way)最大:70.5℃
平均:68℃3DMark Speed Wayベンチマーク中のグラボの温度は平均68℃(最大70.5℃)です。
厚み51 mmのやや分厚いボード設計に、90 mm径デュアルファンを搭載しているだけあり、(比較的)コンパクトなサイズでなかなかの冷却性能を出せています。
静音性能を騒音計で検証
動作音(騒音)をテスト
(本体から50 cmの距離で測定)シャットダウン
(電源オフ時)インターネット
(Youtubeを表示)ゲームプレイ中
(FF14:黄金レガシー)31.2 dB 34.0 dB 36.4 dB 校正済みのデジタル騒音メーターを使って「Legion Tower 5 Gen 8(AMD)」の動作音(騒音レベル)を、シーン別に測定しました。それぞれの結果は中央値です。
動作音の比較(ゲーム中)
- M75s Small Gen232.7 dB
- Legion Tower 5i Gen 835.1 dB
- Legion T5 Gen 8 AMD36.4 dB
- Legion T550i36.9 dB
- M75q-1 Tiny37.1 dB
- IdeaCentre T540 G38.0 dB
- G-Tune HM38.0 dB
- G-Tune PM38.1 dB
- ガレリアRM5R38.6 dB
- M75q Tiny Gen238.8 dB
- HP Victus 15L42.8 dB
- ガレリアZA9R43.0 dB
- G-GEAR by MSI43.3 dB
- M75q Tiny Gen244.8 dB
- LEVEL M-Class44.8 dB
- ガレリアRJ545.0 dB
- LEVEL∞46.6 dB
- Legion Y54049.9 dB
騒音値の目安と評価
他のLegion製品と同じく、Legion Tower 5 Gen 8(AMD)の静音性もまた優秀。ゲーム時の騒音値が36.4 dB前後で、「やや静か」に分類される動作音です。
Lenovoは静音性に優れたゲーミングPCを低コストで作る技術に長けています。比較グラフのうち、グラボを搭載するパソコンで上位3つすべてがLenovo製です。
しいて言えば、低負荷時(オフィスワークやYoutubeなど)でもケースファンがちょっと回っていて、動作音が静まり切らないです。気になる方は「Lenovo Vantage」アプリから、ファンの回転数を好きに設定すると良いでしょう。
やかもち こうして騒音値を並べると、メーカーごとの思想が見えてきて面白いです。Lenovoは出荷設定の時点で静音性にこだわるようです。
消費電力をコンセント経由で測定
消費電力をテスト
(コンセント経由の消費電力)アイドル時
(何もしていない)CPUベンチ
(Cinebench R23)ゲーミング
(3DMark Speed Way)62 W 158 W 268 W Legion Tower 5 Gen 8(AMD)は性能の割に省エネなゲーミングPCです。
CPUベンチマーク中でピーク時に180 W前後、長時間で158 W前後です。グラボに負荷がかかるゲーミング時で268 W前後にとどまり、ピーク時ですら300 Wを少し超える程度。
標準搭載の容量500 W電源で安心して運用できます。1ヶ月あたりの電気代【目安を計算】
まとめ:割安価格なのにライバル製品より高い完成度
「Legion Tower 5 Gen 8(AMD)」の微妙なとこ
- アイドル時の動作音
- 在庫が切れると納期が極めて不安定
- メーカーカスタマイズ不可
(即納モデルのみ)
「Legion Tower 5 Gen 8(AMD)」の良いところ
- PCケースのデザインがいい
- メンテナンス性が高い設計
- 汎用パーツ多めで交換しやすい
- 優れた冷却性能
- 余裕のフルHDゲーミング
- WQHDゲーミングも快適
- 4Kゲーミングも可能
(NVIDIA DLSS有効時) - 写真編集やAIイラストも快適
- 動作音が静か(ゲーム時)
- 標準でWi-Fi 6E対応(最大2.4 Gbps)
- 低遅延な2.5G LANポート
- USB 5~10 Gbpsポートが多め
- 充実した付属品(ケーブル類)
- 「Lenovo Vantage」アプリが便利
- パーツの増設・交換は保証に影響しない
(うっかり壊した場合を除く) - コストパフォーマンスが非常に高い
- 納期が速い(1~2営業日で出荷)
- 標準14ヶ月保証
ちもろぐのゲーミングPCレビュー史上、めったにない高い完成度のゲーミングPCを発掘できた気がします。
省エネでパワフルなゲーミング性能を誇る「Ryzen 7 7700X(8コア)」に、省エネでRTX 3080に迫る性能を持つ「RTX 4070 12GB」を組み合わせて、万人ウケのいい性能に仕上げました。
フルHD~WQHDゲーミングが快適にでき、NVIDIA DLSS対応なら4Kゲーミングもそこそこプレイできる性能です。DDR5メモリ搭載でクリエイティブ性能も優秀でした。
一般的に19万円台のゲーミングPCでは、Ryzen 7 5700XかRyzen 5 7500Fの組み合わせが多いです。
そんな中、LenovoはRyzen 7 7700X(8コア)を搭載。さらにトレンドな仕様(Wi-Fi 6Eや2.5G LAN)を加えて、4本のメモリスロットや3本のM.2スロットなど十分なパーツ拡張性まで付けています。
現時点で、文句なしのコストパフォーマンスです。
PCパーツにまったく詳しくないし興味もないPCゲーマーにおすすめです。
なお、PCパーツの増設経験がある中級者にとってもLegion Tower 5 Gen 8は魅力的です。市販モデルと同じ汎用規格のパーツで揃えられており、市販のPCパーツへかんたんに交換できます。
予算19~20万円でゲーミングPCを買うなら、今回レビューした「Legion Tower 5 Gen 8(AMD)」がほぼ一強の状況に見えます。
あえて難癖をつけるとすれば「ブランド感」でしょうか。某国内BTOのように有名ストリーマーやVtuberとまったくコラボしてないので、いわゆるブランド感を求める方には物足りないかもしれません。
以上「Legion Tower 5 Gen 8(AMD)レビュー:予算20万円ゲーミングPCの答えがコレ」でした。
やかもち さすが世界最大手のBTOメーカー、圧倒的な量産能力で価格を捻じ曲げてます。国内メーカーが広告合戦に走るわけです。マトモに取り合ったら勝てない。
LenovoのゲーミングPC【レビューまとめ】
Legion Tower 5i Gen 8レビュー:過去もっとも「静かな」ゲーミングPCが低価格で
IdeaCentre Mini Gen 8レビュー:電源ユニット内蔵でスッキリ設計
IdeaCentre 5i Gen 8レビュー:グラボ増設で格安ゲーミングが完成
RTX 4000シリーズ搭載ゲーミングPC【解説】
「RTX 4060 Ti」搭載でおすすめなゲーミングPC:4選
「RTX 4070 Ti」搭載でおすすめなゲーミングPC:4選
シェア!
ゲーミングPCの最新記事
- 2025.02.01【2025年版】Ryzen 7 9800X3D搭載のおすすめBTO PCを4つ紹介
- 2024.10.10【2024年版】RTX 4060搭載のおすすめBTO PCを4つ紹介
- 2024.10.01【2024年版】RTX 4060 Ti搭載のおすすめBTO PCを4つ紹介
- 2024.07.29【2024年版】RTX 4070 Ti SUPER搭載のおすすめBTO PCを4つ紹介
- 2024.07.27【2024年版】RTX 4070 SUPER搭載のおすすめBTO PCを4つ紹介