4月 24, 2014

更新顯示溫溼度紀錄的VBA程式

曾經負責寫個程式,把B地溫溼度監控電腦的監控紀錄,每2分鐘傳送到A地的網頁主機,提供使用者查詢觀看......

1.現況說明
 B地監控電腦以執行監控程式的方式,在螢幕上顯示各擷取點的紀錄,監控程式本身並無傳送資料檔案到遠端的功能,詢洽廠商此為選購功能,意思是要另外花錢買!
但研究該監控程式,具備功能將溫溼度紀錄存成CSV檔案,另以EXCEL開啟CSV檔,顯現的溫溼度紀錄會自動更新,因此,想用EXCEL將CSV檔定時另存新檔,再用方法將該檔傳送到A地,即可達成目標。

2.分析需求,執行動作
同步各電腦基準時間
定時將B地監控電腦的溫溼度紀錄存成CSV檔案
定時將B地CSV紀錄檔傳送到A地

3.實作

同步各電腦基準時間
使用Network Time Protocol 就是NTP,將各電腦與台灣本地的時間校正伺服器同步,網路上有相關說明。

定時將B地監控電腦的溫溼度紀錄存成CSV檔案
使用EXCEL的VBA,每2分鐘另存csv檔(覆蓋原檔),程式碼如下:

Public timenow As Double

Sub auto_open()
timenow = Now

freq = "00:02:00"
Application.OnTime timenow + TimeValue(freq), "auto_open"
Call UpdateRecord
End Sub

Sub
UpdateRecord()
    Dim recdate, rectime, rowindex, colindex
    rowindex = 5
    colindex = 1
    recdate = Date              '取得系統日期
    rectime = Format(Time, "hh:mm:ss")              '取得系統時間(24小時制)
    Workbooks(2).Sheets(1).Cells(rowindex, 1).Value = recdate               '記錄本批資料日期
    Workbooks(2).Sheets(1).Cells(rowindex, 2).Value = rectime               '記錄本批資料時間
    For colindex = 1 To 6
               '記錄本批資料日期      Workbooks(2).Sheets(1).Cells(rowindex, colindex + 2).Value = Workbooks(1).Sheets(1).Cells(colindex + 1, 3).Value
        'MsgBox " Date= " & recdate & " Time= " & rectime           '偵錯顯示訊息
        'MsgBox Workbooks(1).Sheets(1).Range("A2").Value & " " & Workbooks(2).Sheets(1).Range("A4").Value    '偵錯顯示訊息
    Next colindex
    Workbooks(2).Save
    Application.DisplayAlerts = False
    Workbooks(2).SaveAs "Book2003a.txt", FileFormat:=42
               '另存文字檔
 End Sub

定時將B地CSV紀錄檔傳送到A地
使用DOS的批次檔,定時以FTP指令傳送檔案到遠端A地

使用此法,存成文字檔案

4月 04, 2014

套件管理指令

在ububtu 中使用apt移除套件後,未移設定檔,要查已移除但尚有設定檔未清除套件資訊,指令如下:
dpkg -l | grep "^rc"

從第一行到最後一行尋找 word1 字串,並將該字串取代為 word2 ,指令如下
:1,$s/word1/word2/g

12月 11, 2013

UBUNTU 13.10啟動網頁伺服器的虛擬主機功能(Apache2------VHOST)

1.最近看了本web2.0網站使用php網頁程式語開發的書,建構開發環境時發生了一點問題,在其它的linux系統,如:Fedora、Slackware系統等等,網頁伺服程式Apache主要設定檔為
 /etc/apache2/apache2.conf ,但在UBUNTU系統,將原來的單一檔案,依功能分為數個設定檔,並維持由apache2.conf主控整個網站設定,組合而成的樹狀結構:
#       /etc/apache2/                #設定檔所在目錄
#       |-- apache2.conf            #網頁伺服器主設定檔,引入所有的子設定檔案
#       |       `--  ports.conf       #設定監聽網路傳輸埠(port)
#       |-- mods-enabled           #已啟用功能模組目錄
#       |       |-- *.load                #個別模組載入位置
#       |       `-- *.conf               #個別模組功能設定
#       |-- conf-enabled             #已啟用的設定檔案目錄
#       |       `-- *.conf               #個別設定檔案
#       `-- sites-enabled            #已啟用網站功能,如虛擬主機
#               `-- *.conf               #個別虛擬主機功能設定

2.所謂虛擬主機,即在指定網址之外,提供其它網域名稱或網址,連結伺服器主機上的網頁目錄或指定目錄,以單一實體主機形成多台虛擬主機,提供開發網站測試運用及個人網頁服務。
3.設定步驟
3.1建立虛擬網站設定檔
設虛擬網站網址為www.test.com,在/etc/apache2/site-available目錄下建立設定檔

www.test.com.conf 

,注意其預設副檔名為.conf,若要變更副檔名,請修改設定檔

/etc/apache2/apache2.conf 

,將下列內容

# Include the virtual host configurations:
 IncludeOptional sites-enabled/*.conf

 ,改成
 # Include the virtual host configurations:
 IncludeOptional sites-enabled/

設定檔的內容如下,注意www.test.com不要寫成 *:80,若不指定虛擬網站的網址,將無法啟用虛擬網站:


        #網站管理員
        ServerAdmin webmaster@test.com
        #網頁文件目錄
        DocumentRoot /var/www/test-site
        #網站錯誤日誌目錄
        ErrorLog /var/www/test-site/error.log
        #網站存取日誌目錄及檔名
        CustomLog /var/www/test-site/access.log combined


3.2啟用並測試虛擬網址
 在終端執行指令,啟用虛擬網站

sudo a2ensite www.test.com

 設定正確啟動正常,顯示

Site www.test.com already enabled



執行重新載入網頁伺服器指令,




sudo /etc/init.d/apache2 reload
 * Reloading web server apache2                                                  *
 *


(若顯示錯誤訊息,表示虛擬網站設定檔設定錯誤,依訊息修正設定檔)

3.3瀏覽虛擬網站

接下來,於瀏覽器指定虛擬網站的網址,測試連結虛擬網站!

11月 01, 2013

JavaScript : CryptoJS加解密功能測試!

CryptoJs