misc.log

日常茶飯事とお仕事と

保護設定されたセルにExcel VBAからデータを書き換える方法

Excelで、セルに対して保護設定を行うというのは業務で使うテンプレートシートなどでよく使われる方法ですが、保護設定してしまうと、人間の操作だけではなくVBAからのセル内容操作も受け付けなくなってしまいます(エラー 1004が発生する)。これを回避する方法についてteratailに質問が出ていたので、ちょいと調べて回答してみました。

teratail.com

これ、どうやっているかというと、VBA開発画面のツリー表示にある「ThisWorkbook」のコード(ワークブック=Excelファイル全体)に、ファイルがオープンされた際に以下の処理を実施するコードを追加しています。

  • ワークシートのプロテクトをパスワードなし、GUI経由での保護に限定して適用する。

これにより、マウスなどを使って人間が操作する分には保護されますが、VBAなどのプログラムからは保護されません。結果、VBAでは値を書き換えられるけれど、人間はセルに打ち込めないという状況を作れます。実際のコードは下記の通り。シート名などは適宜書き換えてください。パスワードなどが必要ならパスワードのところに文字列を入れればOKです。

Private Sub Workbook_Open()
    Worksheets("Sheet1").Protect Password:="", UserInterfaceOnly:=True
End Sub

Excel VBA逆引き辞典パーフェクト 第3版

Excel VBA逆引き辞典パーフェクト 第3版

Googleで「(英単語) origin」で検索すると語源を表示してくれる

知りませんでした。「インストール」というようなコンピューター用語の語源は何だろう?と思ってGoogle検索で「install origin」と検索したところ……

f:id:frontline:20190125101935p:plain
install + originでの検索結果

語源がツリー表示で表示されました。えっ?こんな機能あったの?。すべての単語という訳ではないようです。たとえば「computer」は出てきませんでしたが「compute」はありました。

f:id:frontline:20190125103448p:plain
computer + originでの検索結果(翻訳とその他の定義を表示)

結果の下段にある「翻訳とその他の定義」というところを押すと、上記のように発音や意味も英英辞典のノリで表示されます。これは便利な機能ですね。

【DVD-ROM付】オックスフォード現代英英辞典 第9版

【DVD-ROM付】オックスフォード現代英英辞典 第9版

基本情報技術者試験で扱うプログラミング言語からCOBOLが外れる

先ほどtwitterでこんな話が。

IPA独立行政法人情報処理推進機構)が実施している国家試験「基本情報技術者試験」で、選択式で選べるプログラミング言語からCOBOLコボル)が無くなり、新しくPython(パイソン)が追加されるようです。


Pythonスタートブック [増補改訂版]

まぁ、時流の流れから考えれば仕方が無いことかと思います。自分は基本情報技術者試験は受けていないので、正直具体的にどういう試験だったりするのかについてあまりよく分かっていません。ただ、今度から自社でも試験受験を推進していくような話が出ているので、新人たちにどれを選択するかも含めてアドバイスできるように準備しておく必要がありそう。

IPAからのプレスリリース等公式情報はこちら。

www.ipa.go.jpwww.jitec.ipa.go.jp

選択できる言語等については、上記2つめのリンク先、ページ下の方にある「試験で使用する情報技術に関する用語・プログラム言語など」に記載があります。1月24日時点ではまだCOBOLが記載されている古い資料になっていますが。

実践COBOL資産移行ガイド

実践COBOL資産移行ガイド