Excelとフリーソフトで作るデータ提供システム

 Excel 2000(または2000以降)を購入するだけで、定期的に配信されるデータを自動処理し、必要な人に提供するシステムを作ってみました。
 また、今回メルマガにも挑戦してみました。バックナンバーはこちら

Topへ
 1.作業内容
 2.前提条件
 3.今までの方法
 4.改善 その1
 5.改善 その2
 6.改善 その3
 7.改善 最終形
 8.まとめ
 9.応用

<インストール手順>
 1.Apache
 2.PHP
 3.MySQL
 4.War FTP Daemon
   (+自動実行設定)

<バッチファイル>
 1.FTP転送
 2.SQL文実行
 3.PHP実行

<サンプルデモ>
 1.テキストファイル取り込み
 2.PHPデータ取り込み

<その他>
 1.Excel VBA

当サイトの情報をご利用になる場合は、全て自己責任でお願いします
1.Excel VBA サンプル

@オートフィルタで全ての表示

If ActiveSheet.FilterMode = True Then
ActiveSheet.ShowAllData
End If


Aオートフィルタの解除

If ActiveSheet.AutoFilterMode = True Then
Selection.AutoFilter
End If


BA列のデータの最終行番号を取得

ENDROW = Range("A65536").End(xlUp).Row


C一行目のデータの最終列番号を取得

ENDCOL = Range("IV1").End(xlToLeft).Column


D列番号を列のアルファベット文字に変換

If ENDCOL > 26 Then
ENDCOLA = Chr(64 + Int((ENDCOL - 1) / 26)) & Chr(64 + (ENDCOL - Int((ENDCOL - 1) / 26) * 26))
Else
ENDCOLA = Chr(64 + ENDCOL)
End If


Eファイルを開くメニュー

ChDrive "(ドライブ名)"
ChDir "(フォルダ名(フルパス))"
FLNM = Application.GetOpenFilename("Microsoft Excel ファイル (*.x*),*.x*", , "(表題)")
If FLNM = False Then
Exit Sub
End If
Workbooks.Open Filename:=FLNM


FWebからのデータ取り込み(タブ区切りデータ)

With ActiveSheet.QueryTables.Add(Connection:= "TEXT;http://(URL)", Destination:=Range("A1"))
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = xlWindows
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierNone
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(2, 1, 1, 1)  ←各列の設定(1=数字、2=文字)
.Refresh BackgroundQuery:=False
End With

Copyright©2004 Sing-Ken-Ken.com All Right Reserved. info@sing-ken-ken.com