2011-06-20

Excel VBA foundメソッドで数式の結果を検索

普通に
set FoundCell = Worksheet("sheet1").Range("A1:A50").CurrentRange.Find(What:="OK")
とやると、
A1:A50に値がそのまま入ってる場合は検索できるが、
何らかの条件式が入力してあると、式を検索してしまい検索結果が出ない。

そこで、.Find(What:="OK", LookIn:=xlValue) と、明示的に値を検索させることで、
数式の結果から検索を掛けられる。

ちなみに、VBAを使わないとけっこうややこしい、複数の検索結果の取り扱いも、
set FoundCell2 =Worksheet("sheet1").Range("A1:A50").CurrentRange.FindNext(FoundCell)
で1つずつ次の結果を代入していくことができ、便利便利。

2011-06-11

iphone,ipadでgoogleカレンダーを複数同期

googleカレンダーの複数のカレンダーをiOSデバイスで同期したい。

m.google.com/syncにアクセスして、言語変更→English(US)が基本操作なのだが、
その前にExchangeServerのアカウントとして設定をしておかなければならない。

既にGmailアカウントとして追加されていても、同じIDとPWでカレンダー用に新たにExchangeServer設定も加える必要がある。

Gmailアカウントとして追加されたアカウントのカレンダー同期をONにしているだけでは、
m.google.com/syncにアクセスしても、デバイスの選択画面に辿りつけないのだ。

一度でもm.google.comにExchangeServerとして同期をしようと接続した時点で、
google側がようやくデバイスを認識するらしい。

いつまでもHow to setup Google Sync on iPadのような画面を無限ループしてしまうときは、
Exchangeサーバとして同期設定を行ったかを見なおしてみましょう。
私はその無限ループに1時間近くハマってました。。。

2011-04-26

ZERO R 0570-02-5525 INTERNET

クレジットカード明細に、身に覚えのない請求だ!

と思ったら、GROUPONの請求だった。解決。

2011-04-04

iPhoneが復元できなくなったの巻

4.2.1 jealbreak済のiPhoneを4.3.1にU/Dしようとしたところ、
途中でエラーが出た。


「iPhoneを復元できません。原因不明のエラーが起きました。(14)」

・DFUmodeでのアップデート→失敗。
・iTunesのライブラリを新規作成してトライ→失敗
・iTunesをアンインストールし、iTunes9.2.1でトライ→4.1までしかInstallできず、
ダウングレード扱いになってしまいnot eligibleのエラーが出て失敗。

・そのiTunesを最新にアップデートして復元→成功!!


原因推考

最初のエラーでは、重ねてアップデートサーバへの接続エラーも出ていたことから、
そもそもの発端はiTunes本体orネットワーク設定にかかる問題?

というわけで、iTunesの再インストールで治った運のよい事例でした。

---参考---
DFUmodeでの接続方法
1、PCとiPhoneを接続 iTunesを起動 iPhoneの電源はOFF
2、iPhoneの上のPower ButtonとHomeButtonを同時に押す 10秒間
3、Homeを押したまま、Power Buttonを離す 10秒間
4、画面が真っ黒のままiTunesがiPhoneを認識したら、DFU mode。


---参考2---
iTunes9.2.1インストーラ  iTunes9.2.1.dmg

2011-02-08

iPhone故障

(スノーボードで衝撃と湿度を与えたiPhone)

他はすべての機能が正常だが、電話だけ調子が悪い。
こちらの声は届かず、向こうの声も聞こえない。
本体を捻るように力を加えると、正常に戻ることがある。
ハード的な問題だろうと考え、銀座Appleストアへ。

結果、保証内の本体交換にて対応していただく。
非常に助かりました。さすがApple。

2010-12-01

サーバ構築

WEB構築


web共有をon
/library/webserver/documentsが公開フォルダ。

/etc/apache2/httpd.confをいじる


AddHandler cgi-script .cgi .pl 有効
ssl関係も有効
LoadModule php5_module libexec/apache2/libphp5.so有効

の中に

    AddType text/html shtml
    AddHandler server-parsed shtml
    AddHandler cgi-script .cgi .pl
    Options Indexes MultiViews ExecCGI Includes
を追加



CGIのヘッダを
perl -pi -e 's|#!d:/shin/STS/server/perl/bin/perl -w|#!/usr/bin/perl|' *.cgi
とか
find a -name "*.cgi" -exec perl -i -pe 's|#!d:/shin/STS/server/perl/bin/perl -w|#!/usr/bin/perl|' {} \;

とかして一括変更



IMAP構築


postfixの設定ファイルを編集
main.cf 
最後の行に


###MacOSXSABA_main.cf_Start###
inet_interfaces=all
mynetworks_style=subnet
mydomain=ponkan.ddo.jp
myhostname=ponkan.ddo.jp

smtpd_tls_cert_file=/System/Library/OpenSSL/certs/server.crt
smtpd_tls_key_file=/System/Library/OpenSSL/certs/server.key
smtpd_tls_loglevel=1
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache
tls_random_source = dev:/dev/urandom

smtpd_sasl_auth_enable=yes
smtpd_use_pw_server=yes
enable_server_options=yes
smtpd_pw_server_security_options=plain, login, cram-md5
smtpd_sasl_security_options=noanonymous, noplaintext
broken_sasl_auth_clients=yes
smtpd_recipient_restrictions=permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
smtpd_sasl_local_domain=$mydomain
###MacOSXSABA_main.cf_End###

を追加


master.cf 
以下2つの行の#を外す

smtp      inet  n       -       n       -       -       smtpd

  -o smtpd_tls_security_level=encrypt

サービスに追加して自動起動するように

IMAPがきくように、自動設定ツールをインストール

macで複数ファイル内容の一括置換

macでというか、unixでというか。

例えば、現在のフォルダの中のすべてのcgiの先頭行を
#!/usr/bin/perlから#!/usr/local/bin/perlに変更したい時

find ./ -name "*.cgi" -exec perl -i -pe 's|#!/usr/bin/perl|#!/usr/local/bin/perl|' {} \;

を、ターミナルから実行。

解説

find [dir name] ← UNIXコマンドの一。条件に合うファイルを指定したフォルダ以下から探す。
-name "[target name]"← 名前で検索しろよ、というoption。*はワイルドカードとして使用。
-exec [cmd] {}←見つかったファイルのパスを{}に代入してcmdの内容を実行しろ、というoption。
  \; ← findここで終わり、の宣言。( \は;をshellではなくfindに渡すためのエスケープ文字)

で、

perl ← 実行するのはperlスクリプトですよ、って宣言。
-e ← perlを実行して処理が済んだらperlを終了しますよってoption。
-p ← 置換をファイルの先頭から最後までループでやるよっていうoption
-i ← 複数ファイル一括処理option。

's|[a]|[b]|'  ← aという文字列をbに置換しろよ、という命令。


ということでした。



findのoption一覧
検索の条件-基本機能
-name [file name]指定した文字列のファイル・ディレクトリを検索
-user [user name]指定したユーザーが所有するファイル・ディレクトリを検索
-group [group name]指定したグループが所有するファイル・ディレクトリを検索
-type [filetype]ファイルの種類を指定して検索
b:ブロック型特殊ファイル c:キャラクタ型特殊ファイル d:ディレクトリ l:シンボリックリンク f:通常ファイル
検索の条件-日時機能
-atime (+/-)n最後にアクセスしたのがn日前のファイル・ディレクトリを検索(+n:n日以上、-n:n日以下)
-ctime (+/-)n最後にステータスが修正されたのがn日前のファイル・ディレクトリを検索(+n:n日以上、-n:n日以下)
-mtime (+/-)n最後にデータが修正されたのがn日前のファイル・ディレクトリを検索(+n:n日以上、-n:n日以下)
-mmin (+/-)n最後にデータが修正されたのがn分前のファイル・ディレクトリを検索(+n:n分以上、-n:n分以下)
-newer [file name]指定したファイルよりも後に更新されているファイル・ディレクトリを検索
検索の条件-サイズ機能
-size n[c/k/b]nのサイズのファイルを検索(c:バイト、k:キロバイト、b:ブロック-1ブロック=512バイト)
検索結果の処理機能
-ls詳細を一覧表示する
-print検索結果の標準出力
-fprint [file name]検索結果を指定したファイルに書き出す
-exec [command] {} \;検索結果をコマンドに引き渡して実行
pealのoption一覧

-0[octal]       specify record separator (\0, if no argument)
  -a              autosplit mode with -n or -p (splits $_ into @F)
  -C[number/list] enables the listed Unicode features
  -c              check syntax only (runs BEGIN and CHECK blocks)
  -d[:debugger]   run program under debugger
  -D[number/list] set debugging flags (argument is a bit mask or alphabets)
  -e program      one line of program (several -e's allowed, omit programfile)
  -f              don't do $sitelib/sitecustomize.pl at startup
  -F/pattern/     split() pattern for -a switch (//'s are optional)
  -i[extension]   edit <> files in place (makes backup if extension supplied)
  -Idirectory     specify @INC/#include directory (several -I's allowed)
  -l[octal]       enable line ending processing, specifies line terminator
  -[mM][-]module  execute "use/no module..." before executing program
  -n              assume "while (<>) { ... }" loop around program
  -p              assume loop like -n but print line also, like sed
  -P              run program through C preprocessor before compilation
  -s              enable rudimentary parsing for switches after programfile
  -S              look for programfile using PATH environment variable
  -t              enable tainting warnings
  -T              enable tainting checks
  -u              dump core after parsing program
  -U              allow unsafe operations
  -v              print version, subversion (includes VERY IMPORTANT perl info)
  -V[:variable]   print configuration summary (or a single Config.pm variable)
  -w              enable many useful warnings (RECOMMENDED)
  -W              enable all warnings
  -x[directory]   strip off text before #!perl line and perhaps cd to directory
  -X              disable all warnings