Excelで内側の線と太枠の線を一度に書くマクロ
選択範囲の外側を太線、内側を普通線にするマクロ。対象のセルを範囲選択してある前提です。
Sub 太枠の表() '選択範囲の罫線を '内側:細線、外枠:中太線(まとめデータでよく使う形式)にする Application.ScreenUpdating = False With Selection With .Borders(xlEdgeLeft) .Weight = xlMedium End With With .Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With With .Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With With .Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With With .Borders(xlInsideVertical) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With .Borders(xlInsideHorizontal) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With End With Application.ScreenUpdating = True End Sub
Excel全シートのA1セルにカーソルを移動するマクロ
ファイル提出などに。
'A1選択マクロ Dim myBook As Workbook, mySheet As Worksheet Set myBook = ActiveWorkbook '各シートそれぞれでA1にカーソルを移動する For Each mySheet In myBook.Worksheets mySheet.Select mySheet.Range("A1").Select ActiveWindow.ScrollColumn = 1 'シート左端までスクロール ActiveWindow.ScrollRow = 1 'シート右端までスクロール Next mySheet myBook.Sheets(1).Select '最後に1枚目のシートに移動して終了
任意のフォルダでコマンドプロンプトを起動する方法
マウス操作で起動する場合(Windows10)
- フォルダをShift+右クリックすると、メニューに「コマンドプロンプトをここで開く」があるので選択。
バッチファイルの場合
フォルダに適当な.batファイルを作成して
cmd
と書いて保存、ダブルクリック実行すればよいです。
古いWindowsの場合
windows10以前だと、実行時の初期フォルダがc:\users(ユーザ名) になっていることがあります。 バッチファイルのあるフォルダを初期フォルダに指定するには、そのフォルダに下記内容でバッチファイルを作成して、ダブルクリック実行します。
スクリプトと同じフォルダに置いておくと便利です。CMDの前にSET PATHなど初期設定を書くこともできます。
書き方その1
%~d0 cd %~dp0 cmd
%~d0
でドライブの移動(Cドライブ以外にも対応するため)cd %~dp0
でフォルダの移動 (cdでなくpopdを使う流派もある)cmd
でコマンドプロンプト起動
書き方その2
%~d0 cmd /k cd %~dp0
cmd /k [文字列]
は、文字列をコマンドとして実行します。
%~の色々な書き方はFORコマンドのヘルプ(HELP FOR
)に書いてあります。
>HELP FOR (前略) また、FOR 変数参照の置換も拡張されました。 次のオプション構文を使うことができます: %~I - すべての引用句 (") を削除して、%I を展開します。 %~fI - %I を完全修飾パス名に展開します。 %~dI - %I をドライブ文字だけに展開します。 %~pI - %I をパス名だけに展開します。 %~nI - %I をファイル名だけに展開します。 %~xI - %I をファイル拡張子だけに展開します。 %~sI - 展開されたパスは短い名前だけを含みます。 %~aI - %I をファイルの属性に展開します。 %~tI - %I ファイルの日付/時刻に展開します。 %~zI - %I ファイルのサイズに展開します。 %~$PATH:I - PATH 環境変数に指定されているディレクトリを 検索し、最初に見つかった完全修飾名に %I を 展開します。 環境変数名が定義されていない場合、または検索 してもファイルが見つからなかった場合は、この 修飾子を指定すると空の文字列に展開されます。 修飾子を組み合わせて、複合結果を得ることもできます: %~dpI - %I をドライブ文字とパスだけに展開します。 %~nxI - %I をファイル名と拡張子だけに展開します。 %~fsI - %I を完全なパスと短い名前だけに展開します。 %~dp$PATH:I - PATH 環境変数に指定されているディレクトリを 検索して %I を探し、最初に見つかったファイル のドライブ文字とパスだけに展開します。 %~ftzaI - %I を DIR コマンドの出力行のように展開します。 上の例の %I と PATH は、他の有効な値で置き換えることができます。 %~ 構文は、有効な FOR 変数名によって区切られます。%I のような大 文字の変数を使うと読み取りやすく、大文字と小文字を区別しない修飾子 との混乱を避けることができます。
回復パーティションを移動したときの話
(回復ドライブのことは書いてません。回復ドライブについてはマイクロソフト公式をどうぞ。 )
とっても長文です。下記目次を見て「あ、ダメだ」と思う方はもっとよいサイトへどうぞ。(作業に危険が多いので、できるだけ丁寧に説明したかったのです。)
- 環境
- 準備するもの
- 作業前の準備・確認
- 準備:回復パーティションの場所や中身を確認
- パーティションのコピーをする
- 本番:パーティション削除と、回復環境の再設定
- 再起動後、回復パーティションを再設定する
- 参考サイト
環境
- windows 10(Windows 7からのアップデート)
- MBRディスク
- ドライブ位置関係、こんな感じでした。
- Cドライブがいっぱいになり、拡張するために回復パーティションを移動しました。以下はその記録です。
準備するもの
パーティションコピーツール
今回は回復パーティションを削除でなく「移動」するため使用します。
Windowsのインストールディスク(ほぼ必須)
トラブル対応用です。インストールに使用したディスクを持っている人は不要ですが、そうでないひとは下記からツールをダウンロードし、ISO作成、DVD書き込みをします。30分程度で済みます。
Windowsが起動しないときにコマンドプロンプト、システム復元、その他が使えるので、システムをいじる人は保険に持っておきましょう。
Cドライブ、回復パーティションのバックアップ
本編で述べますが、作業中一度Windowsがブートしなくなりました。 復帰はできましたが、環境によっては何が起きる分かりません。 できる限り作業前の環境は残しておいたほうがいいです。別HDDを用意して、パーティションやHDD丸ごとを保管しておきましょう*1 復帰しなかったらOSの再インストールしかなくなります。
復元ポイントの作成など
その他、失敗しても戻せるよう、一般に考えられるトラブル対策は全部やっておきましょう。 パーティション管理はいろいろ事故が起きますし、解決法も一通りで無いようです。
その他欲しいもの
- 作業PC以外のインターネット接続環境(ぐぐれないと解決できない)
- オフライン作業手順書(ノート、Webの印刷など)
- 十分な時間
作業前の準備・確認
以下、コマンドプロンプトが出てきますが、すべて管理者権限で使用します。
回復パーティションの確認
再起動時に回復メニューが出るか確認。管理者コマンドプロンプトで、
>reagentc /boottore
再起動するとメニューが出ます。 これが回復環境です。Windowsにログインできなくても、ブートの修正やコマンドプロンプト、システムの復元などができます。 (削除するとこれが使えなくなります。)
準備:回復パーティションの場所や中身を確認
削除に関係ない、コマンドの練習やファイル確認作業などです。
reagentcとdiskpart、コンピュータの管理(compmgmt.msc)を使います。*2
コンピュータの管理
コントロールパネルから開いて、「ディスクの管理」を見ます。 「回復パーティション」と書いてあるパーティションがどのディスクのどの場所にあるのかを覚えておきます。
回復環境の設定確認
コマンドプロンプトでreagentc /info
。
>reagentc /info Windows 回復環境 (Windows RE) およびシステム リセット構成 情報: Windows RE の状態: Enabled Windows RE の場所: \\?\GLOBALROOT\device\harddisk0\partition0\Recovery\WindowsRE ブート構成データ (BCD) ID: 00000000-1111-2222-3333-444444444444 回復イメージの場所: 回復イメージ インデックス: 0 カスタム イメージの場所: カスタム イメージ インデックス: 0 REAGENTC.EXE: 操作は成功しました。
diskpart
コマンドプロンプトでdiskpart
と打つと起動します。
diskpartにはHDDのデータを1秒で全削除するコマンドも入っているため、余計な操作はしないこと*3。
list disk
で物理ディスクの一覧。
ディスク選択→パーティション一覧
DISKPART>select disk 0 (0は操作したいディスク番号) DISKPART>list partition
パーティション一覧が出ます(450Mのパーティションがそれ。ドライブレターはありません)
回復パーティションを選択して情報表示
DISKPART>select partition 2 (2は回復パーティションの番号に合わせる) DISKPART>detail partition
画像のような情報が出ます。「種類:27」「隠し属性:はい」がポイント。
回復パーティションのファイル確認
回復パーティション 引き続きdiskpart。
DISKPART>assign letter z
と入力すると、(現在選択している)回復パーティションがドライブZとして認識されます*4。(作業用なので、あとでドライブレターは解除します。)
もう一つ管理者コマンドプロンプトを開きます。
>z: >dir /as /s
z:\Recovory\windowsRe にファイルが入っているファイルが回復環境のファイル(だそう)です。boot.sdi, ReAgent.xml, Winre.wimなどのファイルがあることを確認します。
確認が終わったら、diskpartに戻ってドライブ文字を削除し、元に戻します。
DISKPART>remove letter z
確認だけの人はここで終了です。
パーティションのコピーをする
重要:Cドライブと回復パーティションのバックアップ
重要(2回言う)。以下の削除をする前に、各自の方法でバックアップします。パーティション丸ごとでなくファイルだけコピーする方法もあるようですが、試していません。
本番:パーティション削除と、回復環境の再設定
回復環境をいったん無効化する
おまじない。
>reagentc /disable
回復パーティションの削除
準備編と同じ手順で、回復パーティションを選択します。detailを呼び出して念のため確認します。
DISKPART>select disk 999 (999は操作したいディスク番号) DISKPART>list partition DISKPART>select partition 888 (888は回復パーティションの番号に合わせる) DISKPART>detail partition
list partition, detail partitionなどで、現在選択しているパーティションが確実に回復パーティションであることを確認します。間違ってCドライブ消したら取り返せないため、最低3回は確認します。
間違いないと確信できたら、deleteコマンドで削除します。
DISKPART>delete partition override
1秒で消えます。「コンピュータの管理」を見てパーティションが消えたことを確認します。
ここでいったん再起動します。起動しなくなるかもしれないですよ。というか起動しなかったです。
外伝:再起動しなかった
※無事起動できた人は次の章へスキップ
再起動したところ、Windowsが起動しなくなりました。起動直後に何やら英語(忘れた)メッセージが出て、Windowsのロゴには進まない状態でした。
事前作成したWindowsインストールディスクを使用して、色々やったところ再度起動できるようになりました。が、メモをし損ねて記憶があいまいです。
ダメだったもの
直った手順(最後のbcdboot以外は順番を覚えていません…)
再起動後、回復パーティションを再設定する
削除前にバックアップした回復パーティションを再設定します。reagentc /setreimage /path
にパスを渡す必要があるため、
- diskpartで一時的にドライブレターを割り当てる
- reagentcコマンドで、新しい回復パーティションを設定する
- ドライブレター削除
という手順を踏みます。
DISKPART>diskpart DISKPART>select disk (ディスク番号) DISKPART>list partition DISKPART>select partition (バックアップしたパーティション番号) DISKPART>assign letter z
コマンドプロンプト(管理者権限)
>reagentc /setreimage /path z:\recovory\windowsRe >reagentc /info
diskpartに戻ってドライブレターを削除
DISKPART>remove letter z
再起動時に回復メニューが出るか確認
reagentc /boottore 再起動してメニューが出ることを確認します。
これで終了です。お疲れ様でした。
ダメだった場合
最初にとったバックアップから復元しましょう。
参考サイト
コマンドラインで呼び出せるコントロールパネル & 管理ツール
- しくみ:各種ファイルがWindows/system32に存在している。
- タイトルは「コマンドプロンプトで」としてますが、「ファイル名指定して実行」でも使えます。
- 一部は管理者権限が必要なので、コマンドプロンプトを管理者で呼びだしておくと便利です。
コントロールパネル
ファイル | 中身 |
---|---|
appwiz.cpl | プログラムの追加と削除 |
collab.cpl | 近くの人と接続 |
desk.cpl | モニタ設定 |
Firewall.cpl | ファイアウォール |
Windows ファイアウォールhdwwiz.cpl | ハードウェアの追加ウィザード |
inetcpl.cpl | インターネットオプション |
intl.cpl | 地域と言語のオプション |
irprops.cpl | 赤外線 |
joy.cpl | ゲームパッドのオプション |
main.cpl | マウスのプロパティ |
mmsys.cpl | サウンド |
powercfg.cpl | 電源オプション |
sysdm.cpl | システム |
TabletPC.cpl | ペンと入力のデバイス |
telephon.cpl | 所在地情報(?) |
timedate.cpl | 時刻 |
wscui.cpl | セキュリティセンター |
管理ツール系
ファイル | 中身 |
---|---|
azman.msc | 承認マネージャ |
certmgr.msc | 証明書の管理 |
CIADV.MSC | インデックス サービス |
comexp.msc | コンポーネント サービス |
compmgmt.msc | コンピュータの管理 |
devmgmt.msc | デバイス マネージャ |
diskmgmt.msc | ディスクの管理 |
eventvwr.msc | イベントビューア |
fsmgmt.msc | 共有フォルダの管理 |
lusrmgr.msc | ローカルユーザとグループ |
NAPCLCFG.MSC | NAPクライアントの構成 |
perfmon.msc | パフォーマンスモニタ |
services.msc | サービス(管理コンソールの) |
taskschd.msc | タスクスケジューラ |
tpm.msc | コンピュータのトラステッド・プラットフォーム・モジュール(TPM)の管理 |
WF.msc | windows ファイアウォール関連 |
WmiMgmt.msc | WMIマネジメント(イベントビューアのサブ) |
その他
-「.exe」は入力しなくてもOK。
ファイル | 中身 |
---|---|
osk.exe | スクリーン キーボード |
magnify.exe | 拡大鏡 |
narrator.exe | ナレータ |
「ファイル名を指定して実行」のみ
ファイル | 中身 |
---|---|
(フルパス) | そのパスでエクスプローラ起動 |
cmd | コマンドプロンプト |
ケータイ補償サービスのコスト計算
スマホが壊れました。2016年12月に購入、1年と4か月。 月々サポートがまだ残っているから機種変更はしたくない。ケータイ補償サービスに入っていないので、同機種の交換もできない。困った。
ここでちょっと計算してみました。
値段は機種によりますが、手持ちの機種の場合は以下の通り。
- ケータイ補償サービス 500円/月
- 交換電話代7500円
ケータイ補償サービスに入っていた場合。2年間同じ機種を使い、その間に1回故障したとして、かかっていた費用は500×24+7500=19500円。つまり、サービスに入らなかったことでこれだけ浮いたわけです。 逆に、2万円くらいで何か対策ができれば、ほぼ同額の出費で済むわけで。
ということで、月々サポートが切れるあと8か月、中古スマホで切り抜ける選択肢も出てきました。どうするかは未定。
小学校プログラミング教育の手引を読んでみる
2020年度から小学校にプログラミング学習が正式に導入されるらしい。
気になったところだけ感想。
小5の数学と小6の理科がメインの様子。ビジュアル型プログラミング言語に言及しているので教材はたぶん大丈夫かなと思う。授業例が三角形の描画とカレントポジション問題なのは昔のLINE文ぽくて古い気がするが、大学の授業が"Hello world"と配列から始まるのに比べたら具体的な分良いと思った。作曲ソフト体験は動画好き子供に受けそう。
心配するなら、手続き型っぽいことだけ教えてるので、あとでオブジェクト指向や設計の話に入った時に邪魔にならないかということ。入り口としては妥当なのかなあ。最初からオブジェクト教えるというやり方も最近あると聞いていたので…。小学生の他の教科知識との兼ね合いも考えると、前提知識を多く必要とする授業はできないので、こんなものかなーと思う。
概念的なガイドラインとしては大きな問題ないと思う。あとは実践次第で改善されていくだろう。ネットバイアスで過剰に批難されるだろうけど*1。
心配なのは、実技の課題や宿題だ。 昔はこういうmixiコミュができるくらい宿題質問多かった。C言語コミュのほうに課題の丸投げ質問が多かったため作られたコミュニティだ。
宿題丸投げは、知恵袋でも観測ができる。
「宿題」と書いていない質問もあるから、これは一部だ。 検索して回答を探すのもコンピュータ教育にはなるけど、こういうのが増えてしまわないか心配している。小学生だと、親が率先してやってしまう心配もある。
心配です。
*1:プログラミングを魔法のように過大評価する人が世の中にはいる