エクセル(Excel)&ワード(Word)質問掲示板

より見やすく使いやすいエクセル掲示板を目指し、新たにエクセルの質問掲示板を開設いたしました。 これに伴い、当サイトでは今後、新規投稿はできなくなります。(閲覧は当面可能です。)
今後は新掲示板をご利用いただきますよう宜しくお願い致します。今後ともよろしくお願い致します。
○新掲示板
エクセル(Excel)解決掲示板

エクセル・ワードの基本操作に関する質問や関数やマクロの使い方などエクセルとワードに関する質問掲示板。
Welcome Guest 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

L1+PROCESS CNT マクロ化

このトピックの投稿一覧へ

なし L1+PROCESS CNT マクロ化

msg# 1
depth:
0
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2010-4-18 18:11
ゲスト    投稿数: 0
'********変数強制宣言********
Option Explicit

'********フラグ変数定義********
Dim FRAG_0 , FRAG_HANTEI

'********オブジェクト変数定義********
Dim FSO , CSV , LOG , BYTE0 , WSHShell

'********配列宣言************
Dim SERCH_CHR(1) , SERCH_CNT(1)

'********カウント変数宣言************
Dim i , READ_LINE , CNT

'********フォルダ変数宣言************
Dim MAIN_DIR , SERCH_DIR , LOG_DIR , OUT_DIR , BAT_DIR

'********ファイル変数宣言************
Dim SERCH_FILE , SERCH_FILENAME
Dim LOG_FILE , LOG_FILENAME
Dim OUT_FILE , OUT_FILENAME
Dim BAT_FILE , BAT_FILENAME

'********メッセージ変数宣言********
Dim CSV_OK_MESSAGE , RECV_NG_MESSAGE
Dim KENSU_OK_MESSAGE , KENSU_0_MESSAGE , KENSU_0_CHECK_MESSAGE

'********その他変数宣言************
Dim LINE , MESSAGE_LINE

'********初期設定********
MAIN_DIR = "D:\IE\"
SERCH_DIR = MAIN_DIR & "\CNT\temp"
SERCH_FILE = "RESULT.log"
SERCH_FILENAME = SERCH_DIR & "\" & SERCH_FILE
LOG_DIR = MAIN_DIR & "\CNT\LOG"
LOG_FILE = "CNT_CHECK_LOG.txt"
LOG_FILENAME = LOG_DIR & "\" & LOG_FILE
OUT_DIR = MAIN_DIR & "\SE\SD"
OUT_FILE = "P2.txt"
OUT_FILENAME = OUT_DIR & "\" & OUT_FILE
BAT_DIR = MAIN_DIR & "\CNT\BAT"
BAT_FILE = "L1.bat"
BAT_FILENAME = BAT_DIR & "\" & BAT_FILE
i=0
FRAG_0=0
FRAG_HANTEI=0
SERCH_CHR(0)="T"
SERCH_CHR(1)="W"
Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
Set CSV = FSO.OpenTextFile(SERCH_FILENAME)
Set LOG = FSO.OpenTextFile(LOG_FILENAME, 2, True)
Set WSHShell = WScript.CreateObject("WScript.Shell")
CSV_OK_MESSAGE = "ファイルの抽出が正常に完了致しました。"
RECV_NG_MESSAGE = "受信処理に失敗した為、正常に受信出来ませんでした。"
KENSU_OK_MESSAGE = "変換件数の取得が正常に完了致しました。"
KENSU_0_CHECK_MESSAGE = "0件判定結果が正常に完了致しました。"
KENSU_0_MESSAGE = "件数が0件の為、" & OUT_FILE & "を自動作成致しました。" & vbCrLf & _
"データ処理は終了して下さい。"

'********処理開始時間********
CALL LOG_LINE(LINE,"メイン","開始")
LOG.WriteLine(LINE)
LOG.WriteBlankLines(1)

'********ファイル抽出処理********
CALL MESSAGE("ファイル抽出処理","開始")
LOG.WriteLine(MESSAGE_LINE)
LOG.WriteBlankLines(1)

Do Until CSV.AtEndOfStream
READ_LINE = CSV.ReadLine
If InStr(READ_LINE, SERCH_CHR(i)) <> 0 then
SERCH_CHR(i) = READ_LINE
i=i+1
END IF
Loop

CSV.Close

LOG.WriteLine(CSV_OK_MESSAGE)
LOG.WriteBlankLines(1)
CALL MESSAGE("ファイル抽出処理","終了")
LOG.WriteLine(MESSAGE_LINE)
LOG.WriteBlankLines(1)

'********変換件数取得処理********
CALL MESSAGE("変換件数取得処理","開始")
LOG.WriteLine(MESSAGE_LINE)
LOG.WriteBlankLines(1)

SERCH_CNT(0) = Mid(SERCH_CHR(0), 10)
SERCH_CNT(1) = Mid(SERCH_CHR(1), 8)

LOG.WriteLine(KENSU_OK_MESSAGE)
LOG.WriteLine("変換前件数 : " & SERCH_CNT(0) & " 件")
LOG.WriteLine("変換後件数 : " & SERCH_CNT(1) & " 件")
LOG.WriteBlankLines(1)
CALL MESSAGE("変換件数取得処理","終了")
LOG.WriteLine(MESSAGE_LINE)
LOG.WriteBlankLines(1)

'********0件判定処理********
CALL MESSAGE("0件判定処理","開始")
LOG.WriteLine(MESSAGE_LINE)
LOG.WriteBlankLines(1)

IF SERCH_CNT(0)=SERCH_CNT(1) then
CNT=SERCH_CNT(0)
IF CNT<>0 then
FRAG_0=1
ELSE
Set BYTE0 = FSO.CreateTextFile(OUT_FILENAME, True)
BYTE0.Close
END IF
ELSE
FRAG_HANTEI=1
END IF

LOG.WriteLine(KENSU_0_CHECK_MESSAGE)
LOG.WriteBlankLines(1)
CALL MESSAGE("0件判定処理","終了")
LOG.WriteLine(MESSAGE_LINE)
LOG.WriteBlankLines(1)

'********判定結果出力処理********
CALL MESSAGE("判定結果出力","開始")
LOG.WriteLine(MESSAGE_LINE)
LOG.WriteBlankLines(1)

IF FRAG_HANTEI=0 then
LOG.WriteLine("データを " & CNT & " 件 正常に受信致しました。")
IF FRAG_0=0 then
LOG.WriteLine(KENSU_0_MESSAGE)
END IF
LOG.WriteBlankLines(1)
ELSE
LOG.WriteLine(RECV_NG_MESSAGE)
LOG.WriteBlankLines(1)
END IF

CALL MESSAGE("判定結果出力","終了")
LOG.WriteLine(MESSAGE_LINE)
LOG.WriteBlankLines(1)

'********処理終了時間********
CALL LOG_LINE(LINE,"メイン","終了")
LOG.WriteLine(LINE)
LOG.WriteBlankLines(1)

'********メール配信処理********
WSHShell.Run BAT_FILENAME

Set FSO = Nothing
WSCRIPT.QUIT

'★サブルーチン★-------------------------------------------------------------------------------

Sub MESSAGE(LINE_MSG, ACTION)

MESSAGE_LINE = "★★★************** " & LINE_MSG & ACTION & " **************★★★"

End Sub

SUB LOG_LINE(LINE,SHORIMEI,ACTION)

'********時間変数宣言********
Dim YYYY , MM1 , DD , HH , MM2 , SS , PRIME_DATE , PRIME_TIME

YYYY = Year(DATE)
MM1 = Right("0" & MONTH(DATE), 2)
DD = Right("0" & DAY(DATE), 2)
HH = Right("0" & Hour(TIME), 2)
MM2 = Right("0" & Minute(TIME), 2)
SS = Right("0" & Second(TIME), 2)

PRIME_DATE = YYYY & "/" & MM1 & "/" & DD
PRIME_TIME = HH & ":" & MM2 & ":" & SS

LINE = "★★★**************  処理日 = " & PRIME_DATE & " " & SHORIMEI & "処理" & ACTION & "時間= " & PRIME_TIME & "  **************★★★"

END SUB

'********変数強制宣言********
Option Explicit

'********オブジェクト変数定義********
Dim wbemServices , FSO , LOG , WSHShell , PROCESS_OBJ

'********フォルダ変数宣言************
Dim MAIN_DIR , BAT_DIR , LOG_DIR

'********ファイル変数宣言************
Dim BAT_FILE , BAT_FILENAME
Dim LOG_FILE , LOG_FILENAME

'********メッセージ変数宣言********
Dim TITLE , MESSAGE , LOG_MESSAGE

'********その他変数宣言********
Dim strComputer

'********定数設定********
Const PROCESS = "select * from Win32_Process where Name='NOTEPAD.EXE'"

'********初期設定********
strComputer = "."
MAIN_DIR = "D:\PROCESS"
BAT_DIR = MAIN_DIR & "\BAT"
BAT_FILE = "test.bat"
BAT_FILENAME = BAT_DIR & "\" & BAT_FILE
LOG_DIR = MAIN_DIR & "\LOG"
LOG_FILE = "CHECK_LOG.txt"
LOG_FILENAME = LOG_DIR & "\" & LOG_FILE
Set wbemServices = GetObject("winmgmts:\\" & strComputer)
Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
Set LOG = FSO.OpenTextFile(LOG_FILENAME, 8, True)
Set WSHShell = CreateObject("WScript.Shell")
Set PROCESS_OBJ = wbemServices.ExecQuery(PROCESS)
TITLE="メッセージ"
MESSAGE = "未稼働"
LOG_MESSAGE = NOW & " " & MESSAGE

'********処理開始********
IF PROCESS_OBJ.Count = 0 then
LOG.WriteLine(LOG_MESSAGE)
WSHShell.Run BAT_FILENAME
Msgbox MESSAGE _
, vbOkOnly + vbCritical _
, TITLE
END IF

'********処理終了********
Set FSO = Nothing
WSCRIPT.QUIT

このマクロ化は可能だろうか?
投票数:92 平均点:5.00
返信する

この投稿に返信する

題名
ゲスト名   :
投稿本文

投稿ツリー

  条件検索へ


スポンサーリンク
スポンサーリンク
エクセル・ワード質問/回答集 - クイズ・問題QUUS! - 無料英語学習 - 投資家・トレーダー掲示版
為替(FX)テクニカル分析入門 - エクセル(EXCEL)学習・入門 - Word(ワード)の使い方/活用・入門
Copy right(c) 2006-2010 エクセル&ワード質問掲示板 all right reserved