2015年11月16日月曜日

ubuntu windowsの共有ディレクトリをマウント

smbmountがない(っぽい)ので以下で対応します。
> sudo apt-get install cifs-utils
マウントします。
> sudo mkdir /mnt/win
> sudo mount -t cifs -o username=[username],password=[password] //[server]/[share] /mnt/win
[server]はたとえば192.168.11.3とか。
[share]はwindowsの共有で見えているディレクトリ。

ubuntu namazu euc ファイル名が文字化け

namazuをそのまま使うといろんな場所で文字化けを起こします。
namazuで取り扱う文字コードがEUCなことが問題のようです。
取り込んだ文字列を toeuc という関数で 文字コード変換していますが、
/usr/bin/mknmz は少し足りない&間違っています。

下記のあたりを突貫工事します(美しくないは知らない)。

ubuntu namazu webから使う。

ubuntuのapacheが動作している状態で、
/var/www/html/
に、namazuサイトを作成します。

/var/www/html/namazu/index.htmlを以下に示します。

<form action="./cgi-bin/namazu.cgi" method="GET">
<b>サイト内検索:</b>
<input name="query" size="20" type="text" />
<input type="submit" value="検索" />
<input name="whence" type="hidden" value="0" />
<input name="max" type="hidden" value="20" />
<input name="result" type="hidden" value="normal" />
<input name="sort" type="hidden" value="score" />
<input name="idxname" type="hidden" value="web,bbs" /> 注意
</form>
/usr/lib/cgi-bin/namazu.cgi を
/var/www/html/namazu/cgi-bin/namazu.cgi にコピーします。

/etc/namazu/namazurc を
/var/www/html/namazu/cgi-bin/.namazurc にコピーします。("."注意!)


ubuntu namazu

ubuntu でnamazu をします。

> sudo apt-get namazu2 namazu2-index-tools
> sudo apt-get install namazu2 namazu2-index-tools
> sudo apt-get install libtext-kakasi-perl libnkf-perl
> sudo apt-get install wv xpdf
> sudo apt-get install language-pack-ja

xlhtml は apt-getできなかったので、0.51を探してDLして
> tar- xvzf  xlhtml -0.5.1.tar-gz
展開したディレクトリで
> configure
> make
> sudo make install
とりあえず、これで準備完了です。
/usr/bin/mknmz,namazu
/usr/share/namazu
などが生成されます。

2015年11月15日日曜日

ubuntu apache cgiが動かない

namazu webページを動かそうと思ったら、
ERR 500、Internal Server Errとなり、
どうもcgiが動いていない様子。

/etc/apache2/conf-available/serve-cgi-bin.conf
#             ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
              ScriptAlias /cgi-bin/ /var/www/html/*/cgi-bin/
#             <Directory "/usr/lib/cgi-bin">
              <Directory "/var/www/html/*//cgi-bin/">
とcgi置き場を書き換えてやる。

/etc/apache2/mods-available/mime.conf
              AddHandler cgi-script .cgi
とコメントアウトを外す。

apache をリスタートする。
> sudo /etc/init.d/apache2 restart

昔はhttpd.confでデフォルト有効になっていた気がするのだが。。。。

2015年11月3日火曜日

エクセル VBA 高速化

いろいろやってみた結果、表示のアップデートをやめるのはすべてにおいて速度効果があります。
マクロでなにかしら更新をする前に
Application.ScreenUpdating = False
としておき、終わったら
Application.ScreenUpdating = True
と戻しましょう。
戻し忘れると、更新できなくなります。
また、忘れてセーブすると次に開いたときに更新ができない状態になります。

Error エクセル VBA ファイル Open/Close ファイルはあるのに開かない

エクセルVBAでファイルをOpenするときに、理由はわかりませんが、失敗することがある様子です。
そこで、開くまで何度か試すようにコードを修正します。
Function FileOpen(FilePath As String, FileName As String, wb As Workbook) As Boolean
    Dim fp As String
    fp = FilePath & "\" & FileName
    FileOpen = True
    If Dir(fp) == "" Then
        MsgBox "ファイルが存在しません。", vbExclamation
        FileOpen = False
        Exit Function
    End If
    On Error Resume Next
ReOpen_00:
    Set wb = Workbooks.Open(FileName:=fp, Notify:=False, ReadOnly:=True)
    ' ここで何度か開きなおしてやる。
    If Err.Number > 0 Then GoTo ReOpen_00
    On Error GoTo 0
End Function

Error エクセル VBA ドロップダウンリスト 実行時エラー'1004'

実行時エラー'1004'
アプリケーション定義、またはオブジェクト定義のエラーです。

エクセルVBAでドロップダウンリストを自動生成しているときに上記エラーが出ました。
これは、エラーの起きたファイルを開いていると、ほかエクセルファイルでも出ます。
解決方法をいろいろ探ってみましたが、何とかできるのですが、決まったやり方がわかりませんでした。
問題のあるエクセルシートを開かずに、新規のエクセルでコードを実行するとエラーは起きませんので、コードに問題があるわけではありません。
面倒くさいですが、新規エクセルブックに全部コピーするのが最も早い回避方法でした

起きた原因はおそらく、エクセルのオブジェクトの命名規則でバグがあります。
作成しようとするオブジェクトと同じ名前のオブジェクトが完全に消えてなくて、しかも、消すには作成したオブジェクト名で強引に消すという方法しかなく、どこでエラーが起きたか特定するのに非常に時間がかかります。(消したはずのオブジェクトが何かしら残っている感じです。)

ネットではそのオブジェクトをDeleteしてからやればできる。とか、異なるセルをSelectしてからすればできる。などと解決策をかいておりましたが、いずれも駄目でした。

このエラーが起きたら、バックアップから作業を再開というのが最速の手段でした。

エクセル VBA 列数 行数の取得


エクセル VBA で指定行の項目数、指定列の項目数を取得します。

c列の項目数を上から取得します。(空欄で止まります。)
ActiveSheet.Cells(1, c).End(xlDown).Row
c列の項目数を下から取得します。(空欄を含んでいてもOK。)
ActiveSheet.Cells(Rows.Count, c).End(xlUp).Row

r行の項目数を左から取得します。(空欄で止まります。)
ActiveSheet.Cells(r, 1).End(xlToRight).Column
r行の項目数を右から取得します。(空欄を含んでいてもOK。)
ActiveSheet.Cells(r, Columns.Count).End(xlToLeft).Column

エクセル VBA ドロップダウンリスト

リストからドロップダウンリストを作成します。





















2015年10月21日水曜日

Windows10 無償アップデート 2016年7月28日まで

windows10の無償アップデートがいつまでかというと。 開始したのが2015年7月29日なので2016年7月28日までです。
私の管理するPCはwindows10が3台、windows7が4台。。。メンテナンスだけでも時間がかかる。
はやく家族が自分でできるようになってもらわないと。

2015年10月18日日曜日

Vaio Windows10 明るさが調節できない バックライトが暗い

使っているVaio VPCSA2AJ で Window10のUpdateしたところ、バックライトが暗いままで、調節設定が消えていたので、対応しました。
私の場合は下記サイトからVideo Card Driver をダウンロードしてインストール。





インストールしている途中から明るくなりました。Sony(日本)からドライバがダウンロードできないので、ちょっと探しました。
結構この手の情報が少ないですね。

2015年10月12日月曜日

ubuntu pukiwiki立ち上げ pukiwiki プラグイン

いくつか便利なプラグインをインストールします。

折りたたみplugin fold

http://pigs.osdn.jp/wiki/index.php?download

解凍してできた php は pluginへ gif は image へ移動する。

アドレス変換plugin lan

http://dexlab.net/pukiwiki/index.php?Software%2Fwiki%BC%AB%BA%EE%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3%2Flan.inc.php

解凍してできた php を plugin へ移動する。

すべて、周りに合わせて USER/GROUP の設定、パーミッション設定をしておく。

またfoldはマルチラインのスクリプトなので、pukiwiki.ini.php の下記の部分を有効にしておく。

define('PKWKEXP_DISABLE_MULTILINE_PLUGIN_HACK', 1);
                                    ↓
define('PKWKEXP_DISABLE_MULTILINE_PLUGIN_HACK', 0);


ubuntu pukiwiki立ち上げ pukiwiki フロントページ凍結解除

INSTALL.txtに書かれていますが、フロントページの凍結解除はadminpassの設定が必要です。

pukiwikiディレクトリ直下の pukiwiki.ini.php の

// Dafault: always fail
$ adminpass = '{x-php-md5}!';

となっている所を

$ adminpass = '{x-php-md5}' . md5('PasswordYouLike');

というように変更する。パスワードはお好きにどうぞ。

ubuntu pukiwiki立ち上げ pukiwiki

pukiwikiをダウンロードします。

https://pukiwiki.osdn.jp/?cmd=read&page=PukiWiki%2FDownload%2F1.5.0

最新版は1.5.0なので、それを使います。



pukiwiki-1_5_0_utf8.zip をダウンロードします。

展開したものを たとえば /ver/www/html 以下に置きます。

Readmeに従いパーミッションを設定します。

# sudo chmod 0755 image image/face lib plugin skin
# sudo chmod 0666 attach/* cache/* counter/* wiki/*.txt
# sudo chmod 0644 image/* image/face/* lib/* plugin/* skin/* *.php */*.php .htaccess  .htpasswd  */.htaccess

ブラウザで http://localhost:8080/pukiwikiにアクセスし、初期画面を確認します。

※)仮想OSで、80を8080へフォーワードしており、/ver/www/html/pukiwiki/index.php がアクセスされます。

以下はしなくてもいいかもしれませんが、apacheの使うUSER/GROUP は www-data なので、変更しておきます。

/var/www/html/pukiwiki 内で、

# sudo chown -R www-data:www-data .

としておきます。

VirtualBox Guest Additions

実行中のクライアントOSを表示している窓のデバイスから”Guest AdditionsのCDを挿入”を選択します。
自動的に/media/の下にマウントするので、CDの中に行き、ターゲットクライアントのexeを実行します。
本環境の場合、Ubuntuなので、
#sudo VboxLinuxAdditions.run
として、インストールしました。

2015年10月11日日曜日

VirtualBox Windows 共有ファイル

VirtualBox の設定→共有フォルダーで選ぶだけ。
新しいバージョンでは、永続化という項目もできました。

windows側でc:\\usr\share を作成し、共有フォルダにしておきます。

#sudo mkdir /vbox_share
#sudo mount -t vboxsf share /vbox_share

でマウントできます。

mount: unknown filesystem type vboxsf
とエラーが出たら、Guest Additions がインストールされていません。

ubuntu pukiwiki立ち上げ apache php

apacheインストール

# sudo apt-get install apache2

本環境ではwindows virtualBOX のクライアントOSとしてubuntuを立ち上げているため、ポートフォーワードをする。
クライアント80→ホスト8080。
windows側で http://localhost:8080 にアクセスし、apache2 の画面が出たらOKです。

phpインストール

#sudo apt-get install php5

VirtualBox ポートフォーワード

VirtualBox の設定→ネットワークのポートフォワーディングで クライアントのポートをホストのポートへ送る設定をする。
たとえば、クライアントのポート22からホストのポート50022にフォーワードすることで、外から仮想端末にSSH接続することができる。
ファイアーウォールを開くことを忘れずに。

XmingとPuttyでWindowsでXをつかう。

Xmingのダウンロード

http://www.straightrunning.com/XmingNotes/ からXming-fontsとXmingをダウンロードする。



http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html から putty.exe と plink.exeをダウンロード



Xming.exeを実行してXmingをインストールする。
とくに注意するところはない。

Xmingを実行しサービスを立ち上げる。

puttyとplinkは実行ファイルなので、適当な場所におく。

putty.exeを実行し、SSH接続を行う。

putty Configuration で Connection->SSH->X11で Enable X11 Forwarding を有効にする。

puttyの端末ウインドウから xterm & とかすると、別窓で開きます。

2015年10月10日土曜日

Virtual Box 64bit が選択できない。

BIOSでIntel Virtualization TechnologyがDisableの場合、 もしくは搭載されていない場合に選択できません。

2015年8月30日日曜日

エクセル VBA 関数を使う

VBAから関数Matchを使う。 たとえば、対象Book(TargetBook)のシート("word")のエリア(A1:A20000)から”てきとう”を検索するにはこのようにする。
Dim r As Variant
    r = Application.WorksheetFunction.Match("てきとう", TargetBook.Sheets("word").Range("A1:A20000"), 0)
返り値 r には 行番号が入っています。
しかしながら、範囲内に検索文字がない場合にError となりますので、対応します。

エクセル VBA ファイル Open/Close

エクセルファイルをOpen/Closeします。
Function ファイル読込(BkName As String, ObjBk As Workbook)
    Application.ScreenUpdating = False
    Set ObjBk = Workbooks.Open(FileName:=BkName, Notify:=False)
'   ObjBk.Windows.Application.Visible = True ' これは使わない。
    Windows(ObjBk.Name).Visible = True
    Application.ScreenUpdating = True
End Function
BkNameにフルパスを含むファイル名を入れて関数を呼びます。
ObjBkにWorkbookのファイルポインタを入れて返します
非表示でOpenするときにはVisibleをFalseにします。
(デフォルトでTrueなのですが、説明のために。) 保存終了にするときはSaveChangesをTrueにします。

2015年8月24日月曜日

Windows10 コントロールパネルなど

左下ウインドウズアイコンを左クリックでメニューが出ます。

Windows10 文字が読みにくい

設定→システム→ディスプレイの「テキスト、アプリ、その他の項目のサイズを変更する」がデフォルトで125%になっているのが原因のようです。100%に戻しましょう。一番左が100%です。

Windows10 クリーンインストール (無償アップグレードから)

Windows7からWindows10に無償アップグレードするのですが、今使っているHDDは保存しておきたい。
ということで、クリーンインストールします。


  1. Windows7のバックアップを取っておきます。
  2. Windows10のDVDを作っておきます。
  3. Windows10にアップグレードします。
  4. アップグレード後のプロダクトキーを保存(写真とか取っておく)。
  5. Windows7に戻す
  6. HDD入れ替え
  7. Windows10をクリーンインストール


windows10 計算機とペイントとメモ帳

左下の「WebとWindowsを検索」に

メモ帳を開くには、「notepad」と入力。
ペイントを開くには「mspaint」と入力。
電卓を開くには「calc」と入力。

タスクエリアにクリップしておきましょう。

windows10 よく使うフォルダ 最近使用したファイルの表示をやめる

windows10 の 最近使用したファイルが多くてうざいです。

エクスプローラ→表示→オプションから、

「最近使ったファイルをクイックアクセスに表示する」と「よく使うフォルダーをクイックアクセスに表示する」のチェックを外します。

すっきりします。

2015年8月22日土曜日

エクセル VBA オプション

エクセル VBA の先頭で

Option Explicit

と記述すると、宣言していない変数でErrorとなります。
スペルミス用ですね。

エクセル VBA オブジェクトと変数

なんしか、エクセルを学習します。

オブジェクト

階層構造になっています。

Application→Workbooks→Worksheets→Range

変数

変数にオブジェクトをとり出す。
Sub test_00()
    Dim testBook As Workbook
    Dim testSheet As Worksheet
    Dim testRange As Range
    Set testBook = Workbooks("テスト.xlsm")
    Set testSheet = testBook.Worksheets("Sheet1")
    Set testRange = testSheet.Range("A1")
    testRange.Value = 20
End Sub

直接代入

一つだけなら直接代入します。
Sub test_01()
    Workbooks("テスト.xlsm").Worksheets("Sheet1").Range("A1").Value = 20
End Sub

2015年8月19日水曜日

cygwin 64 bit cocot

cygwin を使ってwin32アプリを起動すると文字化けします。
cygwin 64bitの場合、makeしないといけないようです。
1.cygwin のパッケージのwget を取得しておきます。
2.apt-cyg をインストール
wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg
実行できる場所に移動します。
chmod 755 apt-cyg
mv apt-cyg /usr/local/bin/
3.cocotのダウンロード、インストール
> apt-cyg install  libiconv libiconv-devel inetutils  # 必要なパッケージのインストール
> git clone http://github.com/vmi/cocot
> cd cocot
> ./configure && make && make install
これで

> cocot ipconfig

> cocot ping 10.32.123.45
などの文字化けが解消します。

2015年2月16日月曜日

Eclipse から Android SDK、AVD を起動する。


Eclipse の ウインドウから Android SDK と AVDを起動する選択肢がない場合に、登録する必要があります。

2015年2月15日日曜日

android Eclipse + android SDK + JDK のインストール


jdk-8u31-windows-x64.exe をインストールします。

installer_r24.0.2-windows.exe をインストールします。
その後、Android SDK Managerが立ち上がり、Tools と 最新バージョンのAPIをダウンロードします。
ここではついでに、ターゲットのバージョンと、Extraのすべてをダウンロードしておきます。

pleiades-e4.4-java-jre_20140926を解凍します。
windowsアプリではうまく解凍できない様子だったので、 Cygwin の unzip で解凍しました。
解凍後のpleiades を Program Files の下などにコピーして利用します。
Program Files の下に置いた場合はpleiades/eclipse/eclipse.exe を実行する際に管理者権限を与える必要があります。


2015年2月8日日曜日

perl ファイルに連番をつける




解凍してみたら文字化けしていた、もしくは、ファイル名が長すぎるときなどに使います。

2015年2月5日木曜日

android Eclipse + android SDK + JDK のダウンロード


Androidアプリ開発環境をインストールします。
windows7 64bit版をダウンロードしています。

Android はじめに。


Android アプリ開発を始めていきます。

開発機は Windows 7 64bit ではじめます。そのうちLinux(Ubuntu)もします。

Android Studio と Eclipse + Android SDK + JDK が構築可能ですが、やってみた結果、コンパイル速度が Android Studio が 圧倒的に遅いので、Eclipse を利用します。

ゴールは設定しておりませんが、OpenGLを組み込むところ、C++と連携するところまでやろうかなと思います。