2013年8月20日火曜日

cygwinをアンイストールする方法

cygwinにはインストーラはあっても、アンインストーラはありません。
「スタート」→「コントロールパネル」→「プログラムのアンインストール」で探してみてもそれらしいものは見つからず・・・
さて、どうしたものかとググってみました。
どうやら手動で削除するしかないみたいです。以下は、cygwinをアンインストールする手順です。

①現在動作中のサービスを確認。「cygrunsrv -L」と入力する。
動作中のサービスがあった場合、「cygrunsrv --stop service_name」と入力し、停止させる。
(cygrunsrvを入れていない場合、この手順は不要。)















②マウントしているものを全てアンマウントする。「umount -A」と入力する。
(mountコマンドを実行していない場合、不要。)















③Cドライブ直下の「cygwin」を削除します。

④ショートカットを全て削除します。

⑤環境変数を追加していた場合、削除します。

⑥レジストリの削除。
「Cドライブ」→「WINDOWS」→「system32」から「regedt32.exe」を管理者権限で起動。
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions
HKEY_CURRENT_USER\SOFTWARE\Cygnus Solutions
上記2点を削除する。
























これでアンインストール完了です。

2013年8月19日月曜日

windows7上でUNIXコマンドを使う方法。(cygwinのインストール)

cygwinというツールを導入するとWindows上でUNIXコマンドが使えるようになります。
 UNIXコマンドの練習には良さそうです。

インストーラはhttp://www.cygwin.com/からダウンロードできます。
基本的に「次へ」をクリックしていけばインストールは完了します。
追加したいコマンドがある場合は「apt-cyg」コマンドを使って行います。説明は後ほど・・・

Tera Termをインストールしている場合、「cyglaunch」からcygwinを起動することができます。
こちらが「Cygwin Terminal」で起動したcygwin















こちらがTera Termのcyglaunch」で起動したcygwinです。 



















Tera Termの方が見慣れている分、使いやすいかもしれないです。
次の記事では、 cygwinにapt-cygをインストールする手順を詳解したいと思います。

VBA 「ExportAsFixedFormat」で複数のExcelをまとめてPDFに変換する。

Excel2007からExcelファイルなどをPDF、XPSに変換できるようになりました。
VBAで記述するには、「ExportAsFixedFormat」メソッドを使います。

簡単に以下のような画面を作ってみました。


























1つ目のテキストボックス(TextBox1)には、PDFに変換したいExcelファイルが格納されているフォルダのパスを指定します。
2つ目のテキストボックス(TextBox2)には、変換後のPDFファイルを格納するフォルダパスを指定します。
最後に、ボタン(CommandButton1)を押下すると処理が始まります。

実際のコードはこんな感じに書きました。
Private Sub CommandButton1_Click()
    Dim path As String
    
    path = TextBox1.Value               'フォルダパスを取得
    Application.ScreenUpdating = False  '画面描画OFF
    Call CreatePDF(path)                'フォルダパスを渡してメイン処理呼び出し
    Application.ScreenUpdating = True   '画面描画ON
    MsgBox "PDF変換完了!!!"
    
End Sub

ボタンを押下すると、テキストボックス(TextBox1)のパスを引数にメイン処理を呼び出します。
Sub CreatePDF(FolderPath As String)

    Dim FilePath As String  'Excelフルパス用変数
    Dim PDFPath As String   'PDFフルパス用変数
    Dim ExcelBook As Workbook
    Dim i As Object
    Dim FSO As Object       'FileSystemObject用変数
    
    Set FSO = CreateObject("Scripting.FileSystemObject")
    For Each sbFolders In FSO.getfolder(FolderPath).SubFolders
        Call CreatePDF(sbFolders.path)
    Next sbFolders
    For Each i In FSO.getfolder(FolderPath).Files
        FilePath = FolderPath & "\" & i.Name    'パス&ファイル名を取得
        Set ExcelBook = Workbooks.Open(FilePath)
        PDFPath = TextBox2.Value & "\" & ActiveWorkbook.Name & ".pdf"   'パス&アクティブファイル名&.PDF
        ExcelBook.ExportAsFixedFormat Type:=xlTypePDF, _
                                      Filename:=PDFPath, _
                                      quality:=xlQualityStandard
        ActiveWorkbook.Close
    Next i

    Set FSO = Nothing
    
End Sub

上記がメイン処理部分のコードです。
FileSystemObjectを使って、指定したフォルダ以下のファイルを全てPDFに変換しています。
以下は、コマンドプロンプトからtreeコマンド「tree /F > tree.log」でフォルダ構成を取得した画像です。これをPDF化します。
























マクロを実行すると、このようにTextBox2で指定したフォルダにPDFに変換したファイルが格納されます。

2013年7月28日日曜日

Excel VBA でよく使う FileSystemObject オブジェクトの書き方

Excel VBAで、FileSystemObjectオブジェクトのよく使う書き方をまとめたいと思います。  

指定フォルダ内のすべてのサブフォルダを取得する方法。

メソッドを呼び出すときに渡している引数「"C:\ExcelTest"」を親フォルダとし、直下のサブフォルダを取得しています。
取得したサブフォルダに対し、再帰呼び出しをしているのでフォルダが何階層でも取得することができます。

Private Sub CommandButton1_Click()

    Call folderSearch("C:\ExcelTest")
    
End Sub

Sub folderSearch(path As String)

    Dim FSO As Object, RootFolder As Object
    Dim sbFolders As Variant
    
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set RootFolder = FSO.getfolder(path)
    For Each sbFolders In RootFolder.SubFolders
        Debug.Print sbFolders.path
        Call folderSearch(sbFolders.path)
    Next sbFolders
    
End Sub


次のコードは上記の応用です。

指定フォルダ内のすべてのファイルを取得する方法。

追加したのは17行目あたりからです。
ファイル名をフルパスで取得する場合は、Filesコレクション。ファイル名のみを取得する場合は、Nameコレクションを使います。

Private Sub CommandButton1_Click()

    Call folderSearch("C:\ExcelTest")
    
End Sub

Sub folderSearch(path As String)

    Dim FSO As Object, RootFolder As Object, File As Variant
    Dim sbFolders As Variant
    
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set RootFolder = FSO.getfolder(path)
    For Each sbFolders In RootFolder.SubFolders
        Call folderSearch(sbFolders.path)
    Next sbFolders
    For Each File In RootFolder.Files
        Debug.Print File.path
    Next File
    
End Sub
コードを整理したら随時更新していきます。m(__)m

2013年7月15日月曜日

Office2013評価版の期限を延ばす方法

Office 2013評価版の期限を延ばす方法。

Microsoft Office 2013の試用版を製品版にする方法があるのでご紹介します。

1.Office Professional Plus 2013試用版をダウンロードし、インストールします。

・32bit版の方はこちら
・64bit版の方はこちら

上記でダウンロードできるファイルは「imgファイル(イメージファイル)」という形式で、
CD、DVD等の光学メディアに書き込むことによって実行することができます。
ですが、光学メディアの代わりに仮想ドライブを使ってインストールすることができます。
Virtual CloneDrive等の仮想ドライブソフトを使ってダウンロードしたイメージファイルをマウントしてください。

イメージファイルをマウントしたあと、「SETUP.EXE」を実行し、画面の指示に従ってインストールを進めてください。



















さて、インストール完了しました!
ここからが本題です。




















今は試用版をインストールしただけですので、以下の画像のように「ライセンス認証が必要です。」と表示されてしまいます。
この画面はExcel2013を起動後、「ファイル」→「アカウント」から確認できます。
 


















 2.ライセンス認証を通すには

KMS Nano v10というツールをインストールします。
ダウンロードしたファイルを解凍すると 、以下のようになっていますので、
「KMSnano.exe」を管理者権限で実行します。














再度、製品情報を確認し、以下のようになっていれば成功です!




















自己責任でお願いします。m(__)m