VBAでこんにちは世界 ( Excel for Mac と Excel for Win on VMWare で VBA を書くための環境設定 )

![foo.png](https://qiita-image-store.s3.amazonaws.com/0/149269/ea952130-05bd-8ae5-5f89-c964f70b22ea.png)
![Screen Shot 2018-09-22 at 18.11.29.png](https://qiita-image-store.s3.amazonaws.com/0/149269/2cff32f7-eae5-b547-9a69-374f8c2f5a89.png)

# Summary

Excel for Mac と Excel for Win on VMWare で VBA を書くための環境設定

## Conclusion

VBAコードを`MacOSX` と`Win` で共用するのは無理かも・・・

```
VBA は Excel for Win 一択

Mac, Winで使うなら Python を使うことを考えてみる
```

callmekohei's 心折れたポイント

```
Excel for Mac で・・・・
    ADO, FSO etc.の扱いが難しい（というか僕にはむり〜）
    VBEで日本語が入力、出力できない
    32bit and 64bit の問題も多分出てくると思う・・・
```

## Environment


( MacOSX )

```
$ sw_vers 
ProductName:	Mac OS X
ProductVersion:	10.13.6
BuildVersion:	17G65
```

( VMWare )

Menu bar > VMWare Fusion > About VMWare Fusion

```
VMWare Fusion 8.5.10
```

( Microsoft Excel for Mac )

Menu bar > Excel > About Microsoft Excel

```
Microsoft Excel for Mac
Version 16.16.2
```

Excel for Mac の bit の確認方法

```
$ pwd
/Applications/Microsoft Excel.app/Contents/MacOS

$ file Microsoft\ Excel 
Microsoft Excel: Mach-O 64-bit executable x86_64
```

( Microsoft Excel )

ファイル > アカウント > エクセルのバージョン情報

```
Microsoft Excel 2013
Version 15.0.5067.1000 32bit
```

## Prepare

### input source

`input source` の切り替えショートカットを `Shift Space` にする

reason : VBEでの単語補完が Ctrl Space なのでかぶらないようにする
how    : `AppleSymbolicHotKeys plist dict` を変更する

``` sh
# 下記コマンドをターミナルで実行して再起動
$ defaults write com.apple.symbolichotkeys AppleSymbolicHotKeys -dict-add 60 "<dict><key>enabled</key><true/><key>value</key><dict><key>parameters</key><array><integer>32</integer><integer>49</integer><integer>131072</integer></array><key>type</key><string>standard</string></dict></dict>"
```

see also :
[OS X で Shift+Space で入力ソースを切り替える方法 ](https://www.sssg.org/blogs/naoya/archives/2579)
[システム環境設定をターミナル（defaultsコマンド）から設定する方法（Mission Control）](https://ottan.xyz/system-preferences-terminal-defaults-mission-control-4656/)
[勝手に独り読書会 - その08 (さいご)](http://baqamore.hatenablog.com/entry/2013/09/03/013013)
[what do the parameter values in AppleSymbolicHotKeys plist dict represent?](https://stackoverflow.com/questions/21878482/what-do-the-parameter-values-in-applesymbolichotkeys-plist-dict-represent)
[control-command-Dの設定はどこへ行った？Add Star](http://d.hatena.ne.jp/zariganitosh/20091106/1257498987)

### Function key

Function key( F5, F11 etc.. ) をダイレクトに使えるようにする

reason : Debug run ( F5 ), launch VBE ( F11 ) を使えるようにするため
how    : System preferences を変更する

```
Menu bar > apple mark > System preferences > Keyboard > Keyboard
    Use F1,F2, etc key... にチェックをつける
```

## Install

VMWare Fusion
[VMWare](https://my.vmware.com/jp/web/vmware/login)

Windows10( install on VMWare )
[Windows10](https://www.microsoft.com/en-us/software-download/windows10ISO)  

```text
ライセンスが必要？
callmekohei は昔購入した win8 pro のライセンスキーを入力しました
```

Font ( install on Win , Win's VBEで使うため（個人的好み）)
[Mig2M](http://mix-mplus-ipa.osdn.jp/migu/)

Excel ( for win and mac )
[Microsoft Store](https://www.microsoft.com/en-us/store/b/home)
sign in > account > order history > Manage subscriptions > Install


## Setting of VMWare

### install VMWare Tools

```
// Windows10 を立ち上げた状態で
01. Virtual Machine > Install VMWare Tools
02. デスクトップ上にでてきたボタン？を押して exe を実行する
```

### File sharing

```
// Windows10 を立ち上げた状態で
menu bar > Virtual Machine > Setting > Sharing

    on : Enable Shared Folders
    Mirrored Folders( Desktop, Documents, Downloads )
```

### Key mappings

OSXのショートカットをWindowsで効かせないようにする
Windowsで `Cmd Q`  を押した時に `VMWare`  が終了しないようにする

```
// Windows10 を立ち上げた状態で
menu bar > Virtual Machine > Setting > Keyboard and Mouse

    add Profile file ( press + button )

    Mac Host Shortcuts
        Off : Enable Mac OS Host Keyboard Shortcuts

    Fusion Shortcuts 
        Off : Quit
```


## Setting of Win

`MS-IME`の切り替えを `Shift Space` にする

reason : OSXと同じにする
how    : `MS-IME` でキーボードショートカットを設定

```
編集操作 > キー設定 > 変更

    キー     : Shift+Space
    入力/変換 : IMEオン/オフ
```

see also: [ストレス解消! MacとVMware Fusionで日本語入力キーを同じにする方法](https://news.mynavi.jp/article/20130820-shortcut/)

## Setting of VBE

`VBE` の設定はお好みで・・・

Excel for Mac

```
Alt F11
Menu bar > Excel > preferences
```

Excel for win

```
Alt F11
ツール > オプション
```

callmekohei's recommend

```
( excel for mac )
Off : Editor > code setting > Auto Syntax check
On  : Editor > code setting > Require Variable Declaration

( excel for win )
off : 編集 > コードの設定 > 自動構文チェック
on  : 編集 > コードの設定 > 変数の宣言を強制する
```

callmekohei's font

```
( excel for mac )
consolas

( excel for win )
Mig2M
```

callmekohei's color
![90.png](https://qiita-image-store.s3.amazonaws.com/0/149269/b10f89ae-8093-cb15-4212-d3f9e5086ea5.png)
![91.png](https://qiita-image-store.s3.amazonaws.com/0/149269/649d21bf-58cb-47f9-2054-25a1bee4fe45.png)
![92.png](https://qiita-image-store.s3.amazonaws.com/0/149269/6e421dc9-8a67-5d36-4b0d-92aa96028ab5.png)
![93.png](https://qiita-image-store.s3.amazonaws.com/0/149269/d6bf9d0d-38df-ba1b-77bc-4a71f1638d56.png)
![94.png](https://qiita-image-store.s3.amazonaws.com/0/149269/084684e3-92b1-8f9e-98c5-33162849b7e0.png)
![95.png](https://qiita-image-store.s3.amazonaws.com/0/149269/d8dd26be-7e96-2f9f-b5f8-959dbf223198.png)
![96.png](https://qiita-image-store.s3.amazonaws.com/0/149269/d9682141-996c-cf6e-6793-c16e906c238f.png)
![97.png](https://qiita-image-store.s3.amazonaws.com/0/149269/f54c3a50-a647-71ad-d93d-e193516e51b9.png)
![98.png](https://qiita-image-store.s3.amazonaws.com/0/149269/7209b4cc-f002-fb66-b39e-0d6d5621fae1.png)
![99.png](https://qiita-image-store.s3.amazonaws.com/0/149269/a670b33b-6858-5268-5e75-5a0b0cda73d5.png)


see also: 

[【エクセルVBA】最初っから知っておきたいVBEのショートカットキーまとめ ](https://tonari-it.com/excel-vba-vbe-shortcut-key-list/)
[【エクセルVBA】VBEにコメントブロックのショートカットキーを設定する方法 ](https://tonari-it.com/excel-vba-vbe-comment-shortcut-key/)

## 課題

Excel for Win の VBEのフォントを`consolas`設定して日本語を表示させたい！

![Screen Shot 2018-09-22 at 19.04.52.png](https://qiita-image-store.s3.amazonaws.com/0/149269/c132c922-9050-5d09-583c-d74ba47f9ba2.png)



```
Windows10でフォントリンクがうまく働かない
```

callmekohei がやったこと

```
// 1. レジストリエディターで SystemLink をひらく
コンピューター\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink

// 2. Conslas ファイルを作成
MEIRYO.TTC,Meiryo,128,96
を記入

// 3. 再起動
```

結果

![Screen Shot 2018-09-22 at 19.07.17.png](https://qiita-image-store.s3.amazonaws.com/0/149269/174ca49b-ae3b-ba77-2302-170486471aaf.png)