んー、GWだからどこ行っても混雑しているだろーと、タスクをこなそうと事務所に来たわけです。
しばらくは順調にExcelのマクロを組んでいたのですが、しばらくするとExcelがセーフモードでしか起動しない状態に。(ちなみにExcelは2007)
しかも、悪いことにExcelのアンインストールをしようとしても1704とかってエラーが発生してそれもできない。
最悪。
こんなことのためにGW来たのではない!
で、まずはどうしてもアンインストールしたかったので、あえてCDからオフィスを「Excel抜き」でセットアップしたあとにOfficeをまるごとアンインストール。
したらアンインストールは出来たので、安心してExcelをインストール。
で、開発を再開!と思ったら、またセーフモードじゃないと起動できない。
ん~、困った。
きっと、あやしい起動情報がレジストリに保存されているはず。
そこで、再度、Officeをアンインストール。
そのあと、Excelで検索して該当したレジストリを削除!
※但し弥生とかその編のソフトに絡んでそうなレジストリは削除しちゃだめだけど。
きっと真似はしない方が良いと思います。
で、起動情報あたりのヤツがきっと削除できたんでしょう。
再度Officeをインストールしたら無事に起動しました。
ぁ~、変なとこに時間を使ってしまった。
2011年4月29日金曜日
2011年4月25日月曜日
用語集が欲しくてpukiWikiをいれてみた
自社サービスを作るにあたって、そのサービスに関わる業務の用語集が欲しくなりました。
できればその用語集はサービスをリリースした後に有効活用できるものが良い!ということで、PukiWikiを導入してみました。
んー、設定は簡単!
PukiWikiからダウンロードして、展開。
そして、レンサバにディレクトリこさえて、そこに展開したものをアップロードして、INSTALL.txtに従ってパーミッションを設定すれば、すぐ使えた。
素敵。
で、トップページを編集しようとしたら、何やら怪しいメッセージ。
「Maybe permission is not writable or filename is too long」
探ったら、下記のファイル属性を666へ変更することでOKっぽい。
cache/recent.dat
cache/entities.dat
wiki/*.txt
結果、OKでした。
とりあえず、wikiはOK!
できればその用語集はサービスをリリースした後に有効活用できるものが良い!ということで、PukiWikiを導入してみました。
んー、設定は簡単!
PukiWikiからダウンロードして、展開。
そして、レンサバにディレクトリこさえて、そこに展開したものをアップロードして、INSTALL.txtに従ってパーミッションを設定すれば、すぐ使えた。
素敵。
で、トップページを編集しようとしたら、何やら怪しいメッセージ。
「Maybe permission is not writable or filename is too long」
探ったら、下記のファイル属性を666へ変更することでOKっぽい。
cache/recent.dat
cache/entities.dat
wiki/*.txt
結果、OKでした。
とりあえず、wikiはOK!
2011年4月15日金曜日
2008r2 GestOSのライセンス認証 vol1
WindowsServer2008R2はStandardEditionの場合、Hyper-vにより仮想化して作成したGestOSに1ライセンスまで、同ライセンスでの利用が認められているようなのです。
で、これは!ということで早速利用。
んで、ライセンス認証をしようとしたところ、こんな感じ。
ライセンス認証を放置しておくと、いずれアクセスできなくなるので(期間は忘れたけど)、認証はどうやるのかな、と思ってMSに問い合わせたところ、ちょっと待ってちょうだいとのこと。
どんくらい待てばよいかはわからないけど「期限が来る前に指定した電話に問合せして」と教えてもらいました。
今は仮想化での認証の問い合わせも含め、混雑しているとのこと。
しばらくしたら問い合わせてみよう。
ちなみに、インストールに仕様したのは物理、仮想ともにOEM版ね。
→つづく
で、これは!ということで早速利用。
んで、ライセンス認証をしようとしたところ、こんな感じ。
ライセンス認証を放置しておくと、いずれアクセスできなくなるので(期間は忘れたけど)、認証はどうやるのかな、と思ってMSに問い合わせたところ、ちょっと待ってちょうだいとのこと。
どんくらい待てばよいかはわからないけど「期限が来る前に指定した電話に問合せして」と教えてもらいました。
今は仮想化での認証の問い合わせも含め、混雑しているとのこと。
しばらくしたら問い合わせてみよう。
ちなみに、インストールに仕様したのは物理、仮想ともにOEM版ね。
→つづく
2011年3月24日木曜日
WPFに挑戦してみた
今回、ちょっとした事からWPFに挑戦してみました。
で、イカシタ仕上がりになるってんでExpressionBlendを使ってみてます。
ExpressionBlendはそれ自体がイカシタ雰囲気を醸し出している(と思ってる)のでそれだけでも気分がいつもと違う。気がする。
WebsiteSparkのお陰で無料だし。
ん~、それでWPFはデータグリッドのところで戸惑ったけど、他はすんなりいきそう。
XAMLはasp.netの経験が有る人はすんなりいけるのではないでしょうか?
とまだとりかかったばかりなので、これから躓くのでしょうけど・・・
で、昨日の一つとしてGoogleMapをうまい具合に表示させたかったのですが、「アカベコさん」という方が既に確認していたので、それをまるパクリして動かしてみました。
うむ、イイかんじ。

で、イカシタ仕上がりになるってんでExpressionBlendを使ってみてます。
ExpressionBlendはそれ自体がイカシタ雰囲気を醸し出している(と思ってる)のでそれだけでも気分がいつもと違う。気がする。
WebsiteSparkのお陰で無料だし。
ん~、それでWPFはデータグリッドのところで戸惑ったけど、他はすんなりいきそう。
XAMLはasp.netの経験が有る人はすんなりいけるのではないでしょうか?
とまだとりかかったばかりなので、これから躓くのでしょうけど・・・
で、昨日の一つとしてGoogleMapをうまい具合に表示させたかったのですが、「アカベコさん」という方が既に確認していたので、それをまるパクリして動かしてみました。
うむ、イイかんじ。
ね?なかなか素敵でしょ?
といってもまるパクリなわけですが。
2011年3月16日水曜日
サーバが静かすぎて感動
先週、サーバを新たに調達したのですが!
これが、なんとも静かで素敵!
これまで、メインで使っていたサーバは1Uのラックマウントタイプで、古いせいもあってか、ファンの音が非常にうるさかった!
今回調達したのはDellのタワー型なんだけど、ものすごい静か!
こりゃすごいわ。
とても感動しますた。
これが、なんとも静かで素敵!
これまで、メインで使っていたサーバは1Uのラックマウントタイプで、古いせいもあってか、ファンの音が非常にうるさかった!
今回調達したのはDellのタワー型なんだけど、ものすごい静か!
こりゃすごいわ。
とても感動しますた。
で!梅の香巻は食べ始めたら止まらないから困る・・・
2011年2月16日水曜日
adbが無いんだけど・・・
今、ちょっとAndroidアプリの構築をお試し中で、開発環境を構築しています。
で、環境構築中にadbの利用とあります。
このadbを利用するには事前にtoolsというフォルダにパスを通しておくことが必要なんですが、
パスを通したのにadbコマンドをたたいてもそんなの無いよ、と言われます。
(ちなみに、Windowsで環境を構築しています)
で、よくよく見てみたら、android-sdkの中に、toolsとは別に「platform-tools」というフォルダがあって、そちらにadb.exeというものを見つけました。
うん、これだ。
ここにパスを通すことで、使えるようになりました。
で、環境構築中にadbの利用とあります。
このadbを利用するには事前にtoolsというフォルダにパスを通しておくことが必要なんですが、
パスを通したのにadbコマンドをたたいてもそんなの無いよ、と言われます。
(ちなみに、Windowsで環境を構築しています)
で、よくよく見てみたら、android-sdkの中に、toolsとは別に「platform-tools」というフォルダがあって、そちらにadb.exeというものを見つけました。
うん、これだ。
ここにパスを通すことで、使えるようになりました。
2011年2月8日火曜日
GMAILの便利機能
こんにちは。部隊長です。
今回はちょっと脱線してGMAILの便利機能を1個ご紹介。
ご存じGMAILは他のPOPメールアカウントからメールを受信する事ができます。
これのお蔭で、ローカルにたまっていたメール本体がネット上に置ける事になり、
実質どこでもお仕事状態です。怨みます。
しかしながら、POPアカウントからの受信は、
設定→アカウント→各アカウントでメールをチェックをクリック
しないとオンデマンドで受信できなかったんですよね。
しかし最近Laboをなんとなく見ていると発見しました
・
・
・
これだ!
「POPアカウントの更新」
こいつを有効にしておくと、
受信トレイの更新ボタン
また便利機能が見つかったらまたUPしようと思います。おもうだけかもしれません。
今回はちょっと脱線してGMAILの便利機能を1個ご紹介。
ご存じGMAILは他のPOPメールアカウントからメールを受信する事ができます。
これのお蔭で、ローカルにたまっていたメール本体がネット上に置ける事になり、
実質どこでもお仕事状態です。
しかしながら、POPアカウントからの受信は、
設定→アカウント→各アカウントでメールをチェックをクリック
しないとオンデマンドで受信できなかったんですよね。
しかし最近Laboをなんとなく見ていると発見しました
・
・
・
これだ!
「POPアカウントの更新」
こいつを有効にしておくと、
受信トレイの更新ボタン
で他のPOPアカウントを受信してくれるんですね!
さすがGoogle先生!太っ腹!
ちなみに僕はGmailの受信トレイは未消化のタスク置き場として使っています。
消化したものはタグつけてさっさとアーカイブです。
メルマガとか揮発性の情報はタグもつけずアーカイブか削除です。
また便利機能が見つかったらまたUPしようと思います。
2011年2月1日火曜日
[Excel]VBAコードのバージョン管理
こんばんは。部隊長です。
今回も引き続きExcelVBAのネタです。
Excelでの開発は、Excelファイル本体がバイナリであるため
バージョン管理を行う事が困難です。
(2007以降はzip解凍してxml形式になるようですが・・・)
また、VBAのモジュールは開発が進むにつれ、履歴がたまりファイルサイズが大きくなります。
モジュール自体が破損する事も多いようですね。
そういうときの対処として、モジュールを全てエクスポートし、インポートし直すと最適化される、
というのがネットに載っています。
それであれば、モジュール自体でソース管理してしまった方が良いでしょう。
モジュールはテキストファイルですので、バージョン管理ソフトとの親和性も高いです。
そこで、モジュールファイルを一括してエクスポート、
または全て解放後、一括してインポートするコードをご紹介します。
本体のファイル直下にForm、Class、Module、それぞれのフォルダを作成し、エクスポートするコードと、それらのフォルダからインポートするコードです。
これをアドインにしてインストールして置くと便利。
但し、シートオブジェクトやブックオブジェクトに記述されているコードは対象外となるので、
そこらへんは手作業なのが玉に傷。
ネタ元はネットに散らばっていた情報ですので、ご利用は自己責任でお願いいたします・・・
今回も引き続きExcelVBAのネタです。
Excelでの開発は、Excelファイル本体がバイナリであるため
バージョン管理を行う事が困難です。
(2007以降はzip解凍してxml形式になるようですが・・・)
また、VBAのモジュールは開発が進むにつれ、履歴がたまりファイルサイズが大きくなります。
モジュール自体が破損する事も多いようですね。
そういうときの対処として、モジュールを全てエクスポートし、インポートし直すと最適化される、
というのがネットに載っています。
それであれば、モジュール自体でソース管理してしまった方が良いでしょう。
モジュールはテキストファイルですので、バージョン管理ソフトとの親和性も高いです。
そこで、モジュールファイルを一括してエクスポート、
または全て解放後、一括してインポートするコードをご紹介します。
本体のファイル直下にForm、Class、Module、それぞれのフォルダを作成し、エクスポートするコードと、それらのフォルダからインポートするコードです。
一括エクスポートした後はVSSなりSVNなりにコミットしたって下さい。
''-----------------------------------------------------------------------
'' 全プロジェクトファイルエクスポート(ブック・シートに付随するコード以外)
'' 事前にマクロのセキュリティ→VBAのオブジェクトモデルへのアクセスを許可する事(実行時エラーになります。)
''-----------------------------------------------------------------------
Private Sub Export_All()
Dim Path As String
Dim i As Integer
Const cls As String = "\Class\"
Const FRM As String = "\Form\"
Const MODL As String = "\Module\"
Const EXT_MODL As String = ".bas"
Const EXT_CLS As String = ".cls"
Const EXT_FRM As String = ".frm"
Path = ThisWorkbook.Path
'' エクスポートフォルダ
If Dir(Path & cls) = "" Then MkDir (Path & cls)
If Dir(Path & FRM) = "" Then MkDir (Path & FRM)
If Dir(Path & MODL) = "" Then MkDir (Path & MODL)
With ActiveWorkbook.VBProject
For i = 1 To .VBComponents.Count
Select Case .VBComponents(i).Type
Case 1 '' vbCompTypeModul
.VBComponents(i).Export Path & MODL & .VBComponents(i).Name & EXT_MODL
Case 2 '' vbCompTypeClassModul
.VBComponents(i).Export Path & cls & .VBComponents(i).Name & EXT_CLS
Case 3 '' vbCompTypeUserform
.VBComponents(i).Export Path & FRM & .VBComponents(i).Name & EXT_FRM
End Select
Next
End With
End Sub
''-----------------------------------------------
''--プロジェクトファイル洗い替え-----------------
''-----------------------------------------------
Private Sub Refresh()
Call Release_All
Call Import_All
End Sub
'' 全プロジェクトファイルリリース
Private Sub Release_All()
Dim i As Integer
Dim colComName As New Collection
With ThisWorkbook.VBProject
For i = 1 To .VBComponents.Count
If .VBComponents(i).Type = 1 Or .VBComponents(i).Type = 2 Or .VBComponents(i).Type = 3 Then
colComName.Add (.VBComponents(i).Name)
End If
Next
For i = 1 To colComName.Count
.VBComponents.Remove .VBComponents(colComName(i))
Next
End With
Set colComName = Nothing
End Sub
'' 全プロジェクトファイルインポート
Private Sub Import_All()
Dim Path As String
Dim i As Integer
Const cls As String = "\Class\"
Const FRM As String = "\Form\"
Const MODL As String = "\Module\"
Const EXT_MODL As String = ".bas"
Const EXT_CLS As String = ".cls"
Const EXT_FRM As String = ".frm"
Path = ThisWorkbook.Path
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim fileList As Object
'' Cls
Set fileList = fso.GetFolder(Path & cls).Files
For Each file In fileList
ActiveWorkbook.VBProject.VBComponents.Import Path & cls & file.Name
Next
'' Form
Set fileList = fso.GetFolder(Path & FRM).Files
For Each file In fileList
If Right(file.Name, 4) = EXT_FRM Then
ActiveWorkbook.VBProject.VBComponents.Import Path & FRM & file.Name
End If
Next
'' Module
Set fileList = fso.GetFolder(Path & MODL).Files
For Each file In fileList
ActiveWorkbook.VBProject.VBComponents.Import Path & MODL & file.Name
Next
End Sub
これをアドインにしてインストールして置くと便利。
但し、シートオブジェクトやブックオブジェクトに記述されているコードは対象外となるので、
そこらへんは手作業なのが玉に傷。
ネタ元はネットに散らばっていた情報ですので、ご利用は自己責任でお願いいたします・・・
2011年1月29日土曜日
[EXCEL]Chart.Export makes 0byte File
こんちは。Azureの続きをやるやる詐欺続行中の部隊長です。
今回もAzureはちょっとおいといて、絶賛進行中のプロジェクトから1ネタ。
現在進行中のプロジェクトで、某社販促グッズとして提供している某Excelブック(以下ツール)の改修を行っております。なんのこっちゃですね。
このツールでは集計したデータでグラフを作成し、それをフォームで表示するために一旦gifにExportしているんですね。
こんな感じで。
このコードはExcel2000から2007まで問題なく動作します(97以前も動くかもしれんけど)
で、基本的に2010でも動くはず。
と思ったら、フォーム側のImageにロードする時にエラーが・・・
何故だと思ったら、出力されたファイルが0kbなんですね。空っぽです。
ググっても殆ど情報は出てきません・・・
そこで試しに簡単なサンプルを書いたら問題なく動作します。なんで?
・
・
・
今回もAzureはちょっとおいといて、絶賛進行中のプロジェクトから1ネタ。
現在進行中のプロジェクトで、某社販促グッズとして提供している某Excelブック(以下ツール)の改修を行っております。なんのこっちゃですね。
このツールでは集計したデータでグラフを作成し、それをフォームで表示するために一旦gifにExportしているんですね。
こんな感じで。
'' グラフタイトル設定
.ChartObjects(1).Chart.ChartTitle.Text = GRAPHTITLE_ALL & " n=" & .Range(VALUE_N).Value
'' 画像ファイルのExport
.ChartObjects(1).Chart.Export ThisWorkbook.Path & GRAPHPICT_ALL
このコードはExcel2000から2007まで問題なく動作します(97以前も動くかもしれんけど)
で、基本的に2010でも動くはず。
と思ったら、フォーム側のImageにロードする時にエラーが・・・
何故だと思ったら、出力されたファイルが0kbなんですね。空っぽです。
ググっても殆ど情報は出てきません・・・
そこで試しに簡単なサンプルを書いたら問題なく動作します。なんで?
・
・
・
対象のグラフが載ってるシートは非表示・・・!サンプルは表示・・・!
というわけでVisibleにしてやったらちゃんと動いた、というわけでした。
しかし、このブックはパスワードでロックされていて、表示するにはUnLockしなければならない・・・
というわけでこうゆう事になりました。
'' Visible Befor Export (for Excel2010)
ThisWorkbook.UnProtect password:="XXXXXXXXX"
.Visible = xlSheetVisible
'' 画像ファイルのExport
.ChartObjects(1).Chart.Export ThisWorkbook.Path & GRAPHPICT_ALL
.Visible = xlSheetHidden
ThisWorkbook.Protect password:="XXXXXXXXXX"
'' --
これはちょっと行き当たりばったり過ぎだろJK・・・
つかこんなとこにパスワード書くなよ。書き直し。
教訓:非表示シートを弄る際はお気をつけ下さい。
2011年1月24日月曜日
喫煙所検索サイト
喫煙所検索サイトを復活させてくれました。
といってもiPhone用だけど。
なので、IEでは上手く見えません。
http://kensaku.serve55.net
ちなみに、喫煙所の登録が可能!
問題は、GPSの精度だけど、きっと解決してくれるハズ。
2011年1月5日水曜日
登録:
投稿 (Atom)
とある規格化されたコード
世の中こんなもんまで規格化されていますよ、というお話 https://ja.wikipedia.org/wiki/ISO_5218 この辺が大変良くできた、ためになる(?)解説記事です。(長い https://qiita.com/aoshirobo/items/32deb...
-
今月2本目のUP、良いペースです。 おはよう御座います。部長です。 皆様いかがお過ごしでしょうか?僕はイカが釣れません。 で、 今日は、 アオリイカ用の新しいエギを25本買ったのでそのレビュー じゃなくて、EXCELマクロを書く時にハマりがちな「Me」...
-
<症状> IIS上に素の.htmlファイルを公開したらアクセスの最初に500エラーが発生。 再読込をすると正常にアクセス可能。 という症状が発生。 再読込をすると正常にアクセスできたので気にしてなかったら客先から指摘されてしまった。いろいろ弄ってると一定時間経つと「最...


