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

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

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

パスワード:


パスワード紛失

依頼件数リスト 

前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2010-3-14 19:00
ゲスト    投稿数: 0
REM **************************************************************************
REM ** バッチ名 : VBS_CALL.bat
REM ** 作成日  : YYYY.MM.DD
REM ** 作成者  : tester
REM ** 処理概要 : VBSコール処理
REM ** 変更日 変更内容               変更者
REM ** yyyymmdd ここに変更内容記述する。              xxxxxx
REM **************************************************************************

rem === 変数設定 ===============================================================

rem --- フォルダ変数 ---
set VBS_DIR=D:\KENSU

rem --- ファイル変数 ---
rem set TARGET_FILE=%~1
set TARGET_FILE=test.txt
set VBS_FILE=サイズ件数取得.vbs
set VBS_FILENAME=%VBS_DIR%\%VBS_FILE%
rem === 変数設定 ===============================================================

REM VBSコール開始===============================================

wscript.exe %VBS_FILENAME% %TARGET_FILE%

REM VBSコール終了===============================================

'**************************************************************************
'** VBS名 : サイズ件数取得.vbs
'** 作成日  : YYYY.MM.DD
'** 作成者  : tester
'** 処理概要 : サイズ件数取得処理
'** 変更日 変更内容               変更者
'** yyyymmdd ここに変更内容記述する。              xxxxxx
'**************************************************************************

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

'********オブジェクト変数定義********
Dim FSO , LOG , args , FILE , TARGET_OBJ , TARGET_SIZE , f

'********フォルダ変数宣言************
Dim TARGET_FOLDER , LOG_FOLDER

'********ファイル変数宣言************
Dim TARGET_FILE , TARGET_FILENAME , TARGET_NOPN_FILENAME , TARGET_YESPN_FILENAME , TARGET_TXTONLY_FILENAME
Dim LOG_FILE , LOG_FILENAME

'********時間変数宣言********
Dim YMD , YYYY , MM1 , DD , HM , HH , MM2

'********その他変数宣言********
Dim TARGET_FILE_SIZE , TARGET_FILE_DAY , TARGET_FILE_VALUE , strCharacters , strNextLine

'********初期設定********
TARGET_FOLDER = "D:\kensu"
LOG_FOLDER = "D:\KENSU\LOG"
LOG_FILE = "KENSUFILE_BKUP.txt"
LOG_FILENAME = LOG_FOLDER & "\" & LOG_FILE
TARGET_FILE_VALUE = 0
Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
Set LOG = FSO.OpenTextFile(LOG_FILENAME, 8, True)
Set args = WScript.Arguments

'********検索対象ファイル名取得処理********
TARGET_FILE = args.item(0)

'********検索対象ファイルサイズ取得処理********
Set TARGET_FILENAME = FSO.GetFile(TARGET_FOLDER & "\" & TARGET_FILE)
TARGET_FILE_SIZE = TARGET_FILENAME.size
TARGET_NOPN_FILENAME = Mid(TARGET_FILE, 3, 3)

Select Case TARGET_NOPN_FILENAME
Case 004
TARGET_FILE_VALUE = TARGET_FILE_SIZE / 3500
Case 005 , 011 , 021 , 023
TARGET_FILE_VALUE = TARGET_FILE_SIZE / 120
Case 029 , 31 , 32
TARGET_FILE_VALUE = TARGET_FILE_SIZE / 4000
Case Else
Set FILE = FSO.OpenTextFile(TARGET_FILENAME, 1)

Do Until FILE.AtEndOfStream
strCharacters = FILE.Read(1)
strNextLine = FILE.Readline
IF INSTR(strCharacters,"0") THEN
TARGET_FILE_VALUE = TARGET_FILE_VALUE + 1
ELSE
TARGET_FILE_VALUE = TARGET_FILE_VALUE + 1
END IF
LOOP
End Select

IF TARGET_NOPN_FILENAME = 006 or TARGET_NOPN_FILENAME = 010 THEN
IF TARGET_FILE_SIZE > 0 THEN
TARGET_FILE_VALUE = TARGET_FILE_VALUE - 1
ELSE
END IF
ELSE
END IF

'********検索対象ファイル更新日時取得処理********
TARGET_FILE_DAY = TARGET_FILENAME.DateLastModified
TARGET_YESPN_FILENAME = Mid(TARGET_FILE, 1, 5)
TARGET_TXTONLY_FILENAME = Mid(TARGET_FILE, 7, 3)
YMD = Mid(TARGET_FILE_DAY, 1, 10)
YYYY = Mid(TARGET_FILE_DAY, 1, 4)
MM1 = Mid(TARGET_FILE_DAY, 6, 2)
DD = Mid(TARGET_FILE_DAY, 9, 2)
HM = Mid(TARGET_FILE_DAY, 12, 5)
HH = Mid(TARGET_FILE_DAY, 12, 2)
MM2 = Mid(TARGET_FILE_DAY, 15, 2)

'********ログファイル出力処理********
LOG.WriteLine(TARGET_YESPN_FILENAME & "," & TARGET_TXTONLY_FILENAME & "," & YMD & "," & _
HM & "," & TARGET_FILE_VALUE & "," & TARGET_FILE_SIZE)
LOG.Close

Set FSO = Nothing

MSGBOX "終わったよ!"

'モジュールレベル変数宣言
Private FREE_NUMBER As Long
Private LOG_FOLDER As String
Private LOG_FILE As String
Private LOG_FILENAME As String

Sub PPP()

'☆変数宣言開始--------------------------------------------------------------------------------------

'パス変数宣言
Dim MAIN_PATH As String

'フォルダ変数宣言
Dim PPP_FOLDER As String

'シート変数宣言
Dim HANTEI_SH As String
Dim PPP_SH As String

'ファイル変数宣言
Dim PPP_FILE As String
Dim PPP_FILENAME As String

'メッセージ変数
Dim INIT_MSG As String
'Dim FILE_DOWNLORD_MSG As String
'Dim OK_DATE_MSG As String
'Dim NG_DATE_MSG As String
'Dim OK_COUNT_MSG As String
'Dim NG_COUNT_MSG As String
Dim OK_MSG As String
Dim NG_MSG As String

'オブジェクト変数宣言
Dim FSO As Object
'Dim Sht As Object
'Dim TODAY_DATE_CELL As Object
'Dim TODAY_DATE_1BEFORE_CELL As Object
'Dim PPP_DATE_START_CELL As Object
'Dim TODAY_UP_COUNT_CELL As Object
'Dim TODAY_UP_COUNT_1BEFORE_CELL As Object
'Dim 検索セル As String
'Dim 対象セル As String

'カウント変数宣言
'Dim TODAY_UP_COUNT_LEN As Integer
'Dim TODAY_UP_COUNT_1BEFORE_LEN As Integer
'Dim TODAY_UP_COUNT_LEFT As Integer
'Dim TODAY_UP_COUNT_1BEFORE_LEFT As Integer
'Dim CNT As Integer

'☆変数宣言終了--------------------------------------------------------------------------------------

'☆変数設定開始--------------------------------------------------------------------------------------

'日付変数設定
YYYY = CStr(Format(Date, "yyyy"))
MM = CStr(Format(Date, "m"))
dd = CStr(Format(Date, "dd"))
TODAY_DATE = YYYY & "/" & MM & "/" & dd

'パス変数設定
MAIN_PATH = ThisWorkbook.Path

'フォルダ変数設定
PPP_FOLDER = "D:\PPP"
LOG_FOLDER = "D:\PPP"

'シート変数設定
HANTEI_SH = "判定シート"
PPP_SH = "PPP"

'ファイル変数設定
MAIN_FILE = "PPP.xlsm"
MAIN_FILENAME = MAIN_PATH & "\" & MAIN_FILE
PPP_FILE = "PPP_2.xlsm"
PPP_FILENAME = PPP_FOLDER & "\" & PPP_FILE
LOG_FILE = "PPP_LOG.TXT"
LOG_FILENAME = LOG_FOLDER & "\" & LOG_FILE

'メッセージ変数設定
INIT_MSG = "シートの初期化が完了致しました。"
'FILE_DOWNLORD_MSG = "WEBファイルの取込が完了致しました。"
'OK_DATA_MSG = "本日分の更新日が更新されております。"
'NG_DATA_MSG = "本日分の更新日が更新されておりません。"
'OK_COUNT_MSG = "本日分は想定内の件数で更新されています。"
'NG_COUNT_MSG = "本日分は想定外の件数で更新されています。"
OK_MSG = "正常終了"
NG_MSG = "異常終了"

'オブジェクト変数設定
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TODAY_START_CELL = Worksheets(HANTEI_SH).Range("B5")
Set TODAY_DATE_CELL = Worksheets(HANTEI_SH).Range("E2")
Set CLEAR_START_CELL1 = Worksheets(HANTEI_SH).Range("D5")
Set CLEAR_START_CELL2 = Worksheets(HANTEI_SH).Range("F5")


'関数設定
FREE_NUMBER = FreeFile

'☆変数宣言終了--------------------------------------------------------------------------------------

'☆処理開始--------------------------------------------------------------------------------------

'初期化処理
Call TIME("PPP.xlsm", TODAY_DATE, "開始")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Workbooks(MAIN_FILE).Activate
Worksheets(HANTEI_SH).Select
CLEAR_START_CELL1.Select
CLEAR_START_CELL_ROW = ActiveCell.Row
CLEAR_START_CELL2.Select
CLEAR_END_CELL_ROW = ActiveCell.End(xlDown).Row
Range(Cells(CLEAR_START_CELL_ROW, CLEAR_START_CELL1.Column), Cells(CLEAR_END_CELL_ROW, CLEAR_START_CELL2.Column)).Select
Selection.ClearContents
CLEAR_START_CELL1.Select
Call HANTEI("初期化結果出力処理", INIT_MSG)

'ファイル取込処理
Workbooks.Open (PPP_FILENAME)
Set PPP_DATE_START_CELL = Worksheets(PPP_SH).Range("C3")
PPP_DATE_START_CELL.Select

FRAG = 1

Do Until ActiveCell.Value = ""
If ActiveCell.Value = TODAY_DATE_CELL Then
FRAG = 0
Range(Cells(ActiveCell.Row, ActiveCell.Offset(0, -1).Column), Cells(ActiveCell.Row, ActiveCell.Offset(0, 1).Column)).Select
Selection.Copy
Workbooks(MAIN_FILE).Activate
Worksheets(HANTEI_SH).Select
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Select
Workbooks(PPP_FILE).Activate
ActiveCell.Offset(0, 1).Select
Else
End If
ActiveCell.Offset(1, 0).Select
Loop

Workbooks(PPP_FILE).Close
Workbooks(MAIN_FILE).Activate
TODAY_START_CELL.Select
Workbooks(MAIN_FILE).Save

If FRAG = 0 Then
MsgBox "あります。"
Else
MsgBox "ないです"
End If

Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub

Sub HANTEI(LINE_MSG, KEKKA_MSG)

Open LOG_FILENAME For Append As #FREE_NUMBER
Print #FREE_NUMBER, "=========================" & LINE_MSG & "開始========================="
Print #FREE_NUMBER, WriteBlankLines
Print #FREE_NUMBER, KEKKA_MSG
Print #FREE_NUMBER, WriteBlankLines
Print #FREE_NUMBER, "=========================" & LINE_MSG & "終了========================="
Print #FREE_NUMBER, WriteBlankLines
Close #FREE_NUMBER

End Sub

Sub TIME(MACRO_NAME, PRIME_DATE, ACTION)

HH = Hour(Now)
MM2 = Minute(Now)
SS = Second(Now)
PRIME_TIME = HH & ":" & MM2 & ":" & SS

Open LOG_FILENAME For Append As #FREE_NUMBER
Print #FREE_NUMBER, MACRO_NAME & " 処理日 = " & PRIME_DATE & " 処理" & ACTION & "時間= " & PRIME_TIME; ""
Print #FREE_NUMBER, WriteBlankLines
Close #FREE_NUMBER

End Sub

これらをすべてマクロ化出来ないだろうか?
投票数:85 平均点:4.94
返信する

このトピックに投稿する

題名
ゲスト名   :
投稿本文

  条件検索へ


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