正社員とフリーランスの違いというと、仕事への取り組み方を取り上げられることが結構あるのではないだろうか。確かにそういうのも相関性はあるのかもしれない。

私が思うに、決定的に違う、というものは「税金」というものに関してではないだろうか。

また、私への支払額=私の手取り金額と勘違いする契約先があったりする。そんなこと、あり得ない。国保であり国民年金でありを支払わなければならないし、とかやっていくと、お支払いを頂いている額のどのくらいが実際の収入になるのか、やはりサラリーマンの方にはご理解頂きにくい。

他にも、これは私自身が経験した話だが、儲かっている経営者がサーバーやらPCを「できれば○年でサーバーを買い替えてほしい」と言われた。で、「○○の件ですよね」と尋ねたところビンゴ。実際に税務もやっているからこそ分かったことで、正社員でこれが分かる人は意外と少ないらしい。
これに関係するのは固定資産税の「償却資産」だ。
そういうことは私自身もフリーランスとして働き始めてから分かるようになった。

私自身、エンドユーザーさんと話が合うのは税制面もある程度分かることなのかもしれないな、と思うことがある。お客さんの思いは目の前の問題解決だけではない、ということだ。いかにそこに踏み込めるか、も自分の強みだと思う。

実際、日本を代表する大手さんとコンペがあったところで、そういう部分に触れての話までさせて頂いた点が評価された、というのはある。

世のフリーランサーの方も、税制面には強いはず。ぜひ頑張って頂きたいなと思う。


マクロカッターというものがある。マクロをパスワードロックでみられなくしている場合、そのパスワードを破るものだ。
過去には無償版があったが、今は有料の模様。

無料版を試したことがあるが、確かにパスワードを破ってくれた。が、中には破れないものがあった。それは「プロジェクト名が日本語の場合」である。有償版だとどうなのか試していないが、どうしても破られたくない場合は試してみる価値はある。

ただ、マクロカッターも公式には Excel 2002 まで(Office XP)の対応のようで、おそらくは2003くらいまでは使えるとは思う。2007以降はファイルの構造が変わっているからおそらく無理では?と思う。今となっては主流は 2007以降なので、今更感がある情報で申し訳ないが・・。


テストやデバッグ時、Debug.printで出せば済む場合もあるが、例えば本番時は
 ・シートを隠している
 ・保存できなくする
等、細工をしているなら、デバッグモードを実装し、デバッグ時はシートを表示したり、保存を許可したりすればよい。

で、実装の方法だ。

過去には、Constで DEBG_MODE as Boolean で持たせていた。が、これは本番リリース時に慌てるとリリース用に変更するのを忘れたり・・。

で、今はファイル名で変更を行っている。
つまり、ThisWorkbook.FileName に "test" という文字列が含まれていればデバッグモード、さもなくば本番、としている。
そうすれば、リリース時にファイル名を変更するだけで済む。

実のところ、これはWebサイトを作成するときにも応用している。
本番環境とテスト環境を作成し、テスト環境の url には test という文字列を含めておく。テストだとデバッグ情報を表示したり。私はhttpリクエストの結果を出したりしている。

まあ、もちろん言うまでもないことだが、test という文字列は任意である。環境に応じて定義されるといい。