MALICIOUS
102
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1566.001 Spearphishing Attachment
T1204.002 Malicious File
The file is a Microsoft Excel document containing VBA macros, indicated by the OLE_VBA_MACROS heuristic. The presence of a ShellExecute API reference and a CreateObject call suggests the macros are designed to execute external code. The VBA script attempts to run functions from 'EAppCom.xla', which likely facilitates the execution of a second-stage payload, possibly downloaded from the embedded URL.
Heuristics 4
-
Reference to ShellExecute API high SC_STR_SHELLEXECReference to ShellExecute API
-
VBA macros detected medium 1 related finding OLE_VBA_MACROSDocument contains VBA macro code
-
CreateObject call high OLE_VBA_CREATEOBJCreateObject callMatched line in script
Dim path() As String '様式固有の添付ファイルパス Set dic = CreateObject("Scripting.Dictionary") '添付ファイルの変更前と変更後を紐付ける連想配列 daikoPath = "" '提出代行パスの初期化 -
Embedded URL info EMBEDDED_URLOne or more URLs were extracted from the document. The URL itself is not a detection — see the per-URL labels for which channel (macro, JS, link annotation, document body, ...) reached each URL.URL https://www.cells.co.jp/daityo-s/wp-content/uploads/manual/koyoukeizoku.pdf In document text (OLE body)
Extracted artifacts 1
Files carved from inside the sample during analysis.
| Filename | Kind | Source | Size |
|---|---|---|---|
macros.bas |
vba-macro | oletools.olevba.extract_macros (decoded VBA source) | 54069 bytes |
SHA-256: 451f698c0d6ed211b0484826ba95e68490eecefa6d0d7b9d613f53a471ad3638 |
|||
Preview scriptFirst 1,000 lines of the extracted script
Attribute VB_Name = "ThisWorkbook"
Attribute VB_Base = "0{00020819-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Saved = True
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
MsgBox "このファイルは保存できません。", 16, "保存不可"
Cancel = True
End Sub
Attribute VB_Name = "プレビュー"
Attribute VB_Base = "0{EA1C2497-6CB4-4C1E-B2A7-061F5B9CD392}{F6A9A15D-95FE-43C9-AB55-D8CA09FE13B3}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False
Option Explicit
Private Sub CommandButton2_Click()
'''YBNO 18323
'添付.Show
Application.Run "EAppCom.xla!DisplayAttach", 2, 1, ThisWorkbook
''' END YBNO18323
End Sub
Private Sub CommandButton3_Click()
Dim strFName As String
strFName = _
Application.GetOpenFilename _
("(*.*),*.*")
If (strFName = "False") Then
Exit Sub
End If
TextBox100.Value = strFName
'#38985 SHIHO===========================================================================================
If Application.Run("EAppCom.xla!isNotDisPlayChar", strFName) Then
MsgBox "ファイル名に使用できない文字が含まれています。", vbCritical + vbOKOnly, "添付ファイルエラー"
Exit Sub
End If
'=======================================================================================================
'#39231 hara 20180416
If Application.Run("EAppCom.xla!isSameFile", strFName, TextBox5) Then
MsgBox "提出代行証明書とファイル名が同一です。", vbCritical + vbOKOnly, "添付ファイルエラー"
TextBox100.Value = ""
Exit Sub
End If
'#39231 hara ここまで
End Sub
Private Sub Label94_Click()
Dim strFName As String
strFName = _
Application.GetOpenFilename _
("(*.*),*.*")
If (strFName = "False") Then
Exit Sub
End If
TextBox100.Value = strFName
End Sub
Private Sub CommandButton4_Click()
SelectAttachFile TextBox100.Text
End Sub
Private Sub OptionButton1_Click() '提出代行PDF
SetDaikouSya 1, TextBox5, ThisWorkbook
End Sub
Private Sub OptionButton2_Click() '提出代行DOC
SetDaikouSya 2, TextBox5, ThisWorkbook
End Sub
Private Sub OptionButton3_Click() '提出代行利用しない(20100914masa)
SetDaikouSya 3, TextBox5, ThisWorkbook
End Sub
Public Sub SetDaikouSya(ByVal no As Long, ByRef tb As MSForms.TextBox, ByRef wb As Workbook)
If no = 1 Then
tb.Value = wb.Worksheets("DATA").Cells(4, 2).Value
tb.ForeColor = "&H000000"
wb.Worksheets("DATA").Cells(10, 2).Value = "PDF"
ElseIf no = 2 Then
tb.Value = wb.Worksheets("DATA").Cells(5, 2).Value
tb.ForeColor = "&H000000"
wb.Worksheets("DATA").Cells(10, 2).Value = "DOC"
Else
tb.Value = vbNullString
tb.ForeColor = "&H00E0E0E0"
wb.Worksheets("DATA").Cells(10, 2).Value = "利用しない"
End If
If Me.WebWindow.LocationURL <> "" Then
Call XML作成("証明", ThisWorkbook.Worksheets("DATA").Cells(82, 2).Value)
Call XML作成("登録", ThisWorkbook.Worksheets("DATA").Cells(97, 2).Value)
Me.WebWindow.Refresh
Me.WebBrowser1.Refresh
End If
End Sub
Private Sub UserForm_Activate()
Dim ファイル名 As String
Dim FileName As String
Dim i As Integer
Dim MyStr As String
' 提出先
TextBox6.Value = Worksheets("DATA").Cells(8, 2).Value
TextBox1.Value = Worksheets("DATA").Cells(9, 2).Value
' 社労士情報
FileName = Worksheets("DATA").Cells(2, 2).Value
Open FileName For Input As #1
For i = 1 To 16
Input #1, MyStr
TextBox3.Value = MyStr
Next
Close #1
' 日付
Text1.Value = Format(Date, "yyyymmdd")
' 提出代行
With Worksheets("DATA")
If .Cells(10, 2).Value = "PDF" Then Me.OptionButton1.Value = True
If .Cells(10, 2).Value = "DOC" Then Me.OptionButton2.Value = True
'YB27996 20150622 fuku
' If .Cells(10, 2).Value = "利用しない" Then Me.OptionButton3.Value = True
If .Cells(10, 2).Value = "利用しない" Then Me.OptionButton3.Value = False
End With
' 本人同意書
TextBox100.Value = Worksheets("DATA").Cells(11, 2).Value
' チェック
If TextBox1.Value = "" Or TextBox3.Value = "" Then
MsgBox "必要な情報が設定されていません。", 16, AAA
Unload Me
Application.Run "DaAddin.xla!閉じる"
Exit Sub
End If
If Controls("Text" & 1).Value = "" Then
MsgBox "必要な情報が設定されていません。", 16, AAA
Application.Run "DaAddin.xla!閉じる"
Unload Me
Exit Sub
End If
WebWindow.Navigate ThisWorkbook.path & "\スタイルシート\" & ThisWorkbook.Worksheets("DATA").Cells(85, 2).Value
WebBrowser1.Navigate ThisWorkbook.path & "\スタイルシート\" & ThisWorkbook.Worksheets("DATA").Cells(100, 2).Value
End Sub
Private Sub CommandButton1_Click()
'総括票XML作成の準備
Dim i As Integer
Dim strPathName As String
Dim myFso As Scripting.FileSystemObject
Dim FileName As String
Dim MyStr As String
Dim ファイル名 As String
Dim フォルダ As String
Dim 申ID As String
Dim 手ID As String
'#37486 ito 20171114 添付ファイル正規化 ------------------------------------------------------
Dim dic As Object '紐づけを行う連想配列
Dim daikoPath As String '提出代行のパス
Dim path() As String '様式固有の添付ファイルパス
Set dic = CreateObject("Scripting.Dictionary") '添付ファイルの変更前と変更後を紐付ける連想配列
daikoPath = "" '提出代行パスの初期化
ReDim path(0)
'#37486 ----------------------------------------------------------------------------------------
'添付ファイルチェック
If 添付Check = False Then Exit Sub
If MsgBox("電子申請データを作成しますか?", 1 + 32, "作成") <> 1 Then Exit Sub
申ID = Worksheets("DATA").Cells(82, 2).Value
手ID = Worksheets("DATA").Cells(92, 2).Value
Application.ScreenUpdating = False
' 提出代行
'#37486 ito 20171114 添付ファイル正規化 ------------------------------------------------------------------------------------------
'If OptionButton3.Value = False Then Worksheets("DATA").Cells(61, 2).Value = Dir(TextBox5.Value) '20100913masa 提出代行なしに対応
If OptionButton3.Value = False Then
Worksheets("DATA").Cells(61, 2).Value = Dir(TextBox5.Value)
daikoPath = TextBox5.Value
Else
ThisWorkbook.Worksheets("DATA").Cells(61, 2).ClearContents
End If
'本人同意書
If Trim(TextBox100.Value) <> "" Then
path(UBound(path)) = TextBox100.Value
ThisWorkbook.Worksheets("DATA").Cells(11, 2).Value = TextBox100.Value
Else
ThisWorkbook.Worksheets("DATA").Cells(11, 2).ClearContents
End If
'変更前と変更後を紐づけるディクショナリ配列を作成
Application.Run "EAppCom.xla!AssociatedFiles", ThisWorkbook.Worksheets("DATA").Range("B61:B71"), daikoPath, path, dic
'#37486 -----------------------------------------------------------------------------------------------------------------------------
' 保存するフォルダを作る
フォルダ = Format(Date, "YYYYMMDD") & Application.Run("EAppCom.xla!NowTimeString")
strPathName = ThisWorkbook.path & "\" & "申請データ\" & フォルダ
''' YBNO 16940
'MkDir strPathName
Application.Run "EAppCom.xla!IsExistFolder", strPathName
' 入力された情報をもとに再度XMLを作成
' Call XML編集
Call XML作成("登録", ThisWorkbook.Worksheets("DATA").Cells(82, 2).Value)
Call XML作成("証明", ThisWorkbook.Worksheets("DATA").Cells(97, 2).Value)
' 提出代行JPG,スタイルシート、取得届XMLを申請フォルダに入れる
Set myFso = New Scripting.FileSystemObject
If OptionButton3.Value = False Then myFso.CopyFile TextBox5.Value, strPathName & "\" '20100913masa 提出代行なしに対応
myFso.CopyFile ThisWorkbook.path & "\スタイルシート\999000000000000001.xsl", strPathName & "\"
myFso.CopyFile ThisWorkbook.path & "\スタイルシート\" & ThisWorkbook.Worksheets("DATA").Cells(82, 2).Value & ".xsl", strPathName & "\"
myFso.CopyFile ThisWorkbook.path & "\スタイルシート\" & ThisWorkbook.Worksheets("DATA").Cells(85, 2).Value, strPathName & "\"
myFso.CopyFile ThisWorkbook.path & "\スタイルシート\" & ThisWorkbook.Worksheets("DATA").Cells(97, 2).Value & ".xsl", strPathName & "\"
myFso.CopyFile ThisWorkbook.path & "\スタイルシート\" & ThisWorkbook.Worksheets("DATA").Cells(100, 2).Value, strPathName & "\"
If TextBox100.Value <> "" Then '同意書
'#37486 ito 20171114 添付ファイル正規化
'Worksheets("DATA").Cells(73, 2).Value = Dir(TextBox100.Value)
Worksheets("DATA").Cells(73, 2).Value = dic(Dir(TextBox100.Value))
'20100721masa ドライブが異なるとエラーになる。
' myFso.CopyFile Worksheets("DATA").Cells(62, 2).Value, strPathName & "\"
myFso.CopyFile TextBox100.Value, strPathName & "\"
Else
Worksheets("DATA").Cells(73, 2).ClearContents
End If
With ThisWorkbook.Worksheets("DATA") 'その他添付ファイル
For i = 0 To 9
If .Cells(62 + i, 4).Value <> "" Then
myFso.CopyFile .Cells(62 + i, 4).Value, strPathName & "\"
Else
.Cells(62 + i, 4).ClearContents
End If
Next
End With
'#37486 ito 20171114 添付ファイル正規化
'Set myFso = Nothing
'申請データフォルダのファイル名をリネームする
Application.Run "EAppCom.xla!FileRename", dic, strPathName
' 申請者情報(kousei.xml)を作成して、作成したフォルダに入れる
Workbooks.Open FileName:=ThisWorkbook.path & "\XML作成\申請者.xls"
Workbooks("申請者.xls").Activate
With ThisWorkbook.Worksheets("DATA")
Cells(1, 8).Value = strPathName & "\kousei.xml" '保存先を書き込む
Cells(10, 2).Value = 手ID
Cells(12, 2).Value = .Cells(91, 2).Value '手続名称
Cells(135, 2).Value = .Cells(8, 2).Value '提出先コード
Cells(136, 2).Value = .Cells(9, 2).Value '提出先名称
Cells(52, 3).Value = .Cells(60, 2).Value '添付ファイル
Cells(137, 3).Value = .Cells(80, 2).Value '申請書属性情報
Cells(2, 9).Value = .Cells(2, 2).Value '事務所基本情報
'提出先社保と会社名
ファイル名 = Left(.Cells(1, 1).Value, Len(.Cells(1, 1).Value) - 6)
FileName = Workbooks("DaMenu.xls").path & "\DaProcess\MyTool\提出代行\" & ファイル名 & ".txt"
Cells(2, 11).Value = FileName '電子申請会社情報
End With
'Application.Run "申請者.xls!作成"
''' YBNO16449
If Trim(ThisWorkbook.Worksheets("DATA").Cells(10, 2).Value) = "利用しない" Then
Application.Run "申請者.xls!作成", True
Else
Application.Run "申請者.xls!作成", False
End If
''' END YBNO16449
Workbooks("申請者.xls").Close False
ThisWorkbook.Activate
'#37486 ito 20171114 添付ファイル正規化 ------------------------------------------------------------------------------------------
'DATAシートの添付ファイル名を変更前の状態に戻す。2回連続で申請するとエラーとなるため
If OptionButton3.Value = False Then
If myFso.FileExists(TextBox5.Value) Then
Worksheets("DATA").Cells(61, 2).Value = myFso.GetFileName(daikoPath) '提出代行のファイル名を戻す
End If
End If
If Trim(TextBox100.Value) <> "" Then
If myFso.FileExists(TextBox100.Value) Then
Worksheets("DATA").Cells(73, 2).Value = myFso.GetFileName(TextBox100.Value) '同意書を戻す
End If
End If
Application.Run "EAppCom.xla!FileUndo", ThisWorkbook.Worksheets("DATA").Range("B62:B71"), False '添付ファイル名1~10を戻す
Set myFso = Nothing
Set dic = Nothing
'#37486 -----------------------------------------------------------------------------------------------------------------------------
' 記録を書き込む
' Application.Run "EAppCom.xla!DataAdd", strPathName, フォルダ
' Application.ScreenUpdating = True
'YBNO 31594 ito 20160506
'個人番号があるときにログを作る
'---------------------------------------------
If ThisWorkbook.Worksheets("登録").Cells(10, 2).Value <> vbNullString And Application.Run("DaAddin.xla!MNMode", True, False) Then
Dim guid As String
guid = Workbooks("雇用継続給付.xls").Worksheets("DATA").Cells(10, 1).Value
Dim ComAccount As String
ComAccount = Application.Run("業務日誌.xlam!GetCompanyData", Workbooks(ThisWorkbook.Worksheets("DATA").Cells(1, 1).Value))
'#39442 ito 20171117 H30新仕様対応
'Application.Run "DaAddin.xla!ProcLogging", ComAccount, PROC_NAME, "電子申請データ作成", vbNullString, guid, ThisWorkbook.Worksheets("登録").Cells(109, 2).Value, "成功"
Application.Run "DaAddin.xla!ProcLogging", ComAccount, PROC_NAME, "電子申請データ作成", vbNullString, guid, ThisWorkbook.Worksheets("登録").Cells(110, 2).Value, "成功"
End If
'---------------------------------------------
' If MsgBox("送信トレイに保存されました。作成したデータを電子申請しますか?", 1 + 32, "電子申請データ") <> 1 Then
' Unload Me
' Else
' Unload Me
' Application.Run "DaAddin.xla!OpenWorkbookActive", Workbooks("DaMenu.xls").path & "\DaProcess\電子申請.xls"
' End If
' #40150 SHIHO====================================================================================================
Application.ScreenUpdating = True
Dim eGovType As Long
eGovType = Application.Run("EAppCom.xla!eGovModule.eGovApiFormShow", strPathName, ThisWorkbook.Worksheets("Data"), 0)
If eGovType = 0 Then
MsgBox "キャンセルされました。", vbInformation + vbOKOnly, "電子申請"
Exit Sub
End If
Unload Me
Call Application.Run("EAppCom.xla!eGovModule.ChangeNextDisplay", eGovType)
' =================================================================================================================
End Sub
Sub XML編集()
Dim d1 As Object
Dim objITEM As Object
Dim n As Long
With Worksheets("登録")
Set d1 = プレビュー.WebWindow.document
For Each objITEM In プレビュー.WebWindow.document.all '本店支店
If objITEM.tagName = "INPUT" Then
If objITEM.Name = "N70_CD" And objITEM.Checked = True Then
.Cells(106, 2).Value = objITEM.Value
End If
End If
Next
.Cells(11, 2).Value = d1.Forms(0).Item("N3_HIHONO4").Value '被保険者番号/被保険者番号4桁
.Cells(12, 2).Value = d1.Forms(0).Item("N4_HIHONO6").Value '被保険者番号/被保険者番号6桁
.Cells(13, 2).Value = d1.Forms(0).Item("N5_HIHONOCD").Value '被保険者番号/被保険者番号CD
.Cells(16, 2).Value = d1.Forms(0).Item("N6_NEN").Value '被保険者となった年月日/年
.Cells(17, 2).Value = d1.Forms(0).Item("N7_TUKI").Value '被保険者となった年月日/月
.Cells(18, 2).Value = d1.Forms(0).Item("N8_HI").Value '被保険者となった年月日/日
.Cells(21, 2).Value = d1.Forms(0).Item("N9_HIHONO4").Value '事業所番号/事業所番号4桁
.Cells(22, 2).Value = d1.Forms(0).Item("N10_JIGYOUNO6").Value '事業所番号/事業所番号6桁
.Cells(23, 2).Value = d1.Forms(0).Item("N11_JIGYOUCD").Value '事業所番号/事業所番号CD
.Cells(25, 2).Value = d1.Forms(0).Item("N12_KYUFUKINSU").Value '給付金の種類
.Cells(29, 2).Value = d1.Forms(0).Item("N14_NEN").Value '賃金支払状況/賃金支払状況_支給対象月1/年
.Cells(30, 2).Value = d1.Forms(0).Item("N15_TUKI").Value '賃金支払状況/賃金支払状況_支給対象月1/月
.Cells(32, 2).Value = d1.Forms(0).Item("N16_SIKYUUKIN").Value '賃金支払状況/支給対象月に支払われた賃金額1
.Cells(33, 2).Value = d1.Forms(0).Item("N17_GENGAKUHI").Value '賃金支払状況/賃金の減額のあった日数1
.Cells(37, 2).Value = d1.Forms(0).Item("N20_NEN").Value '賃金支払状況/賃金支払状況_支給対象月2/年
.Cells(38, 2).Value = d1.Forms(0).Item("N21_TUKI").Value '賃金支払状況/賃金支払状況_支給対象月2/月
.Cells(40, 2).Value = d1.Forms(0).Item("N22_SIKYUUKIN").Value '賃金支払状況/支給対象月に支払われた賃金額2
.Cells(41, 2).Value = d1.Forms(0).Item("N23_GENGAKUHI").Value '賃金支払状況/賃金の減額のあった日数2
.Cells(45, 2).Value = d1.Forms(0).Item("N26_NEN").Value '賃金支払状況/賃金支払状況_支給対象月3/年
.Cells(46, 2).Value = d1.Forms(0).Item("N27_TUKI").Value '賃金支払状況/賃金支払状況_支給対象月3/月
.Cells(48, 2).Value = d1.Forms(0).Item("N28_SIKYUUKIN").Value '賃金支払状況/支給対象月に支払われた賃金額3
.Cells(49, 2).Value = d1.Forms(0).Item("N29_GENGAKUHI").Value '賃金支払状況/賃金の減額のあった日数3
.Cells(83, 2).Value = d1.Forms(0).Item("N52_TOKKIJIKOU").Value 'その他賃金に関する特記事項1
.Cells(84, 2).Value = d1.Forms(0).Item("N53_TOKKIJIKOU").Value 'その他賃金に関する特記事項2
.Cells(85, 2).Value = d1.Forms(0).Item("N54_TOKKIJIKOU").Value 'その他賃金に関する特記事項3
.Cells(88, 2).Value = d1.Forms(0).Item("N56_NEN").Value '証明年月日/年
.Cells(89, 2).Value = d1.Forms(0).Item("N57_TUKI").Value '証明年月日/月
.Cells(90, 2).Value = d1.Forms(0).Item("N58_HI").Value '証明年月日/日
.Cells(92, 2).Value = d1.Forms(0).Item("N59_JIGYOUSYOMEI").Value '事業所名_所在地
.Cells(93, 2).Value = d1.Forms(0).Item("N60_JIGYOUSYUMEI").Value '事業主名
.Cells(96, 2).Value = d1.Forms(0).Item("N62_NEN").Value '申請年月日/年
.Cells(97, 2).Value = d1.Forms(0).Item("N63_TUKI").Value '申請年月日/月
.Cells(98, 2).Value = d1.Forms(0).Item("N64_HI").Value '申請年月日/日
.Cells(100, 2).Value = d1.Forms(0).Item("N65_ATESAKI").Value 'あて先
.Cells(101, 2).Value = d1.Forms(0).Item("N66_FURIGANA").Value '申請者氏名_フリガナ
.Cells(102, 2).Value = d1.Forms(0).Item("N67_SINSEISIMEI").Value '申請者氏名
.Cells(104, 2).Value = d1.Forms(0).Item("N68_FURIGANA").Value '払渡希望金融機関/金融機関フリガナ
.Cells(105, 2).Value = d1.Forms(0).Item("N69_MEISYOU").Value '払渡希望金融機関/金融機関名
.Cells(107, 2).Value = d1.Forms(0).Item("N71_KINYUUCD").Value '払渡希望金融機関/金融機関コード
.Cells(108, 2).Value = d1.Forms(0).Item("N72_TEMPOCD").Value '払渡希望金融機関/店舗コード
.Cells(109, 2).Value = d1.Forms(0).Item("N73_KOUZANO").Value '払渡希望金融機関/預金通帳の口座番号
.Cells(112, 2).Value = d1.Forms(0).Item("N74_BIKOUSINSEI").Value '備考
.Cells(143, 2).Value = d1.Forms(0).Item("N93_SIMEI").Value '社会保険労務士記載欄/氏名
.Cells(145, 2).Value = d1.Forms(0).Item("N94_SIGAI").Value '電話番号/市外局番
.Cells(146, 2).Value = d1.Forms(0).Item("N95_SINAI").Value '電話番号/市内局番
.Cells(147, 2).Value = d1.Forms(0).Item("N96_SINAI").Value '電話番号/加入者番号
Set d1 = Nothing
End With
With Worksheets("証明")
Set d1 = プレビュー.WebBrowser1.document
.Cells(10, 2).Value = d1.Forms(0).Item("N1002_HIHOKENSYABANGOU4KETA").Value '被保険者番号/被保険者番号4桁
.Cells(11, 2).Value = d1.Forms(0).Item("N1003_HIHOKENSYABANGOU6KETA").Value '被保険者番号/被保険者番号6桁
.Cells(12, 2).Value = d1.Forms(0).Item("N1004_HIHOKENSYABANGOUCD").Value '被保険者番号/被保険者番号CD
.Cells(15, 2).Value = d1.Forms(0).Item("N1005_JIGYOUSYABANGOU4KETA").Value '事業所番号/事業所番号4桁
.Cells(16, 2).Value = d1.Forms(0).Item("N1006_JIGYOUSYABANGOU6KETA").Value '事業所番号/事業所番号6桁
.Cells(17, 2).Value = d1.Forms(0).Item("N1007_JIGYOUSYABANGOUCD").Value '事業所番号/事業所番号CD
.Cells(19, 2).Value = d1.Forms(0).Item("N1008_FURIGANA").Value 'フリガナ
.Cells(20, 2).Value = d1.Forms(0).Item("N1009_ROKUJYUSAISHIMEI").Value '六十歳に達した者の氏名
.Cells(22, 2).Value = d1.Forms(0).Item("N1010_MEISYOU").Value '事業所/名称
.Cells(23, 2).Value = d1.Forms(0).Item("N1011_SYOZAICHI").Value '事業所/所在地
.Cells(25, 2).Value = d1.Forms(0).Item("N1012_SHIGAIKYOKUBAN").Value '事業所/電話番号/市外局番
.Cells(26, 2).Value = d1.Forms(0).Item("N1013_SHINAIKYOKUBAN").Value '事業所/電話番号/市内局番
.Cells(27, 2).Value = d1.Forms(0).Item("N1014_KANYUSYABANGO").Value '事業所/電話番号/加入者番号
.Cells(32, 2).Value = d1.Forms(0).Item("N1015_HAITATSUKYOKUBANGO").Value '六十歳に達した者の住所又は居所/郵便番号/配達局番号
.Cells(33, 2).Value = d1.Forms(0).Item("N1016_CYOUIKIBANGO").Value '六十歳に達した者の住所又は居所/郵便番号/町域番号
.Cells(35, 2).Value = d1.Forms(0).Item("N1017_JYUUSYO").Value '六十歳に達した者の住所又は居所/住所
.Cells(37, 2).Value = d1.Forms(0).Item("N1018_SHIGAIKYOKUBAN").Value '六十歳に達した者の住所又は居所/電話番号/市外局番
.Cells(38, 2).Value = d1.Forms(0).Item("N1019_SHINAIKYOKUBAN").Value '六十歳に達した者の住所又は居所/電話番号/市内局番
.Cells(39, 2).Value = d1.Forms(0).Item("N1020_KANYUSYABANGO").Value '六十歳に達した者の住所又は居所/電話番号/加入者番号
.Cells(43, 2).Value = d1.Forms(0).Item("N1021_WAREKI").Value '六十歳に達した日等の年月日/年号
.Cells(44, 2).Value = d1.Forms(0).Item("N1022_NEN").Value '六十歳に達した日等の年月日/年
.Cells(45, 2).Value = d1.Forms(0).Item("N1023_TSUKI").Value '六十歳に達した日等の年月日/月
.Cells(46, 2).Value = d1.Forms(0).Item("N1024_HI").Value '六十歳に達した日等の年月日/日
.Cells(49, 2).Value = d1.Forms(0).Item("N1025_WAREKI").Value '六十歳に達した日等の生年月日/年号
.Cells(50, 2).Value = d1.Forms(0).Item("N1026_NEN").Value '六十歳に達した者の生年月日/年
.Cells(51, 2).Value = d1.Forms(0).Item("N1027_TSUKI").Value '六十歳に達した者の生年月日/月
.Cells(52, 2).Value = d1.Forms(0).Item("N1028_HI").Value '六十歳に達した者の生年月日/日
.Cells(55, 2).Value = d1.Forms(0).Item("N1029_JYUUSYO").Value '事業主/住所
.Cells(56, 2).Value = d1.Forms(0).Item("N1030_SHIMEI").Value '事業主/氏名
.Cells(59, 2).Value = d1.Forms(0).Item("N1032_TSUKI").Value '六十歳に達した日等の翌日/月
.Cells(60, 2).Value = d1.Forms(0).Item("N1033_HI").Value '六十歳に達した日等の翌日/日
.Cells(64, 2).Value = d1.Forms(0).Item("N1034_TSUKI").Value '賃金支払状況等1/被保険者期間算定対象期間_前日/月
.Cells(65, 2).Value = d1.Forms(0).Item("N1035_HI").Value '賃金支払状況等2/被保険者期間算定対象期間_前日/日
.Cells(67, 2).Value = d1.Forms(0).Item("N1036_HIHOKENSYAKISONISSU").Value '賃金支払状況等1/被保険者期間算定対象期間_基礎日数
.Cells(69, 2).Value = d1.Forms(0).Item("N1037_TSUKI").Value '賃金支払状況等1/賃金支払対象期間_前日/月
.Cells(70, 2).Value = d1.Forms(0).Item("N1038_HI").Value '賃金支払状況等1/賃金支払対象期間_前日/日
.Cells(72, 2).Value = d1.Forms(0).Item("N1039_CHINGINKISONISSU").Value '賃金支払状況等1/賃金支払対象期間_基礎日数
.Cells(73, 2).Value = d1.Forms(0).Item("N1040_KASHIKINGAKUA").Value '賃金支払状況等1/賃金額A
.Cells(74, 2).Value = d1.Forms(0).Item("N1041_KASHIKINGAKUB").Value '賃金支払状況等1/賃金額B
.Cells(75, 2).Value = d1.Forms(0).Item("N1042_KASHIKINGAKUKEI").Value '賃金支払状況等1/賃金額計
.Cells(76, 2).Value = d1.Forms(0).Item("N1043_BIKOU").Value '賃金支払状況等1/備考
For n = 0 To 11
.Cells(80 + 24 * n, 2).Value = d1.Forms(0).Item("N1044_TSUKI_" & n + 1).Value '被保険者期間算定対象期間_開始/月
.Cells(81 + 24 * n, 2).Value = d1.Forms(0).Item("N1045_HI_" & n + 1).Value '被保険者期間算定対象期間_開始/日
.Cells(84 + 24 * n, 2).Value = d1.Forms(0).Item("N1046_TSUKI_" & n + 1).Value '被保険者期間算定対象期間_終了/月
.Cells(85 + 24 * n, 2).Value = d1.Forms(0).Item("N1047_HI_" & n + 1).Value '被保険者期間算定対象期間_終了/月
.Cells(87 + 24 * n, 2).Value = d1.Forms(0).Item("N1048_HIHOKENSYAKISONISSU_" & n + 1).Value '被保険者期間算定対象期間_基礎日数
.Cells(89 + 24 * n, 2).Value = d1.Forms(0).Item("N1049_TSUKI_" & n + 1).Value '賃金支払対象期間_開始/月
.Cells(90 + 24 * n, 2).Value = d1.Forms(0).Item("N1050_HI_" & n + 1).Value '賃金支払対象期間_開始/日
.Cells(93 + 24 * n, 2).Value = d1.Forms(0).Item("N1051_TSUKI_" & n + 1).Value '賃金支払対象期間_終了/月
.Cells(94 + 24 * n, 2).Value = d1.Forms(0).Item("N1052_HI_" & n + 1).Value '賃金支払対象期間_終了/日
.Cells(96 + 24 * n, 2).Value = d1.Forms(0).Item("N1053_CHINGINKISONISSU_" & n + 1).Value '賃金支払対象期間_基礎日数
.Cells(97 + 24 * n, 2).Value = d1.Forms(0).Item("N1054_KASHIKINGAKUA_" & n + 1).Value '賃金額A
.Cells(98 + 24 * n, 2).Value = d1.Forms(0).Item("N1055_KASHIKINGAKUB_" & n + 1).Value '賃金額B
.Cells(99 + 24 * n, 2).Value = d1.Forms(0).Item("N1056_KASHIKINGAKUKEI_" & n + 1).Value '賃金額計
.Cells(100 + 24 * n, 2).Value = d1.Forms(0).Item("N1057_BIKOU_" & n + 1).Value '備考
Next
.Cells(366, 2).Value = d1.Forms(0).Item("N1058_CHINGINTOKKIJIKOU").Value '賃金に関する特記事項
.Cells(368, 2).Value = d1.Forms(0).Item("N1059_WAREKI").Value '受理年月日/年号
.Cells(377, 2).Value = d1.Forms(0).Item("N1065_WAREKI").Value '社会保険労務士記載欄/作成年月日/年号
.Cells(378, 2).Value = d1.Forms(0).Item("N1066_NEN").Value '社会保険労務士記載欄/作成年月日/年
.Cells(379, 2).Value = d1.Forms(0).Item("N1067_TSUKI").Value '社会保険労務士記載欄/作成年月日/月
.Cells(380, 2).Value = d1.Forms(0).Item("N1068_HI").Value '社会保険労務士記載欄/作成年月日/日
.Cells(382, 2).Value = d1.Forms(0).Item("N1069_TEISYUTSUDAIKOUSYA").Value '社会保険労務士記載欄/提出代行者_事務代理者の表示
.Cells(383, 2).Value = d1.Forms(0).Item("N1070_SHIMEI").Value '社会保険労務士記載欄/氏名
.Cells(385, 2).Value = d1.Forms(0).Item("N1071_SHIGAIKYOKUBAN").Value '社会保険労務士記載欄/電話番号/市外局番
.Cells(386, 2).Value = d1.Forms(0).Item("N1072_SHINAIKYOKUBAN").Value '社会保険労務士記載欄/電話番号/市内局番
.Cells(387, 2).Value = d1.Forms(0).Item("N1073_KANYUSYABANGO").Value '社会保険労務士記載欄/電話番号/加入者番号
.Cells(389, 2).Value = d1.Forms(0).Item("N1074_FUKIRAN").Value '備考
Application.Calculation = xlAutomatic
Set d1 = Nothing
End With
End Sub
Function 添付Check() As Boolean
Dim ファイル名 As String
Dim FileName As String
Dim i As Integer
' 提出代行の存在チェック(20100913masa 提出代行なしに対応)
If TextBox5.Value = "" And OptionButton3.Value = False Then
MsgBox "提出代行証明書が未設定です。", 16, "提出代行"
添付Check = False
Exit Function
End If
If Dir(TextBox5.Value) = "" And OptionButton3.Value = False Then '存在するかチェック'20100913masa 提出代行なしに対応
MsgBox "提出代行証明書のファイルが存在しません。", 16, AAA
添付Check = False
Exit Function
End If
' 本人同意書
If TextBox100.Value = "" Then
MsgBox "本人の同意書が設定されていません。", 16, AAA
Exit Function
Else
Worksheets("DATA").Cells(11, 2).Value = TextBox100.Value
End If
'#37486 ishikawa 20171114 api対応
'添付ファイル名の半角文字、機種依存文字チェック
' If FileNameCheck(TextBox100.Value) = False Then
' MsgBox "添付ファイル名に半角文字、機種依存文字が含まれています。", 16, "本人同意書"
' 添付Check = False
' Exit Function
' End If
' If FileNameCheck(TextBox5.Value) = False And OptionButton3.Value = False Then
' MsgBox "添付ファイル名に半角文字、機種依存文字が含まれています。", 16, "提出代行"
' 添付Check = False
' Exit Function
' End If
'
' With ThisWorkbook.Worksheets("DATA")
' For i = 64 To 68
' If FileNameCheck(.Cells(i, 4).Value) = False Then
' MsgBox "添付ファイル名に半角文字、機種依存文字が含まれています。", 16, "添付ファイル"
' 添付Check = False
' Exit Function
' End If
' Next
' End With
'#37486 ここまで
添付Check = True
End Function
Attribute VB_Name = "Sheet4"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Option Explicit
Attribute VB_Name = "Sheet7"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Option Explicit
Attribute VB_Name = "Sheet8"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Option Explicit
Attribute VB_Name = "Sheet5"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Option Explicit
Attribute VB_Name = "Sheet6"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Option Explicit
Attribute VB_Name = "Function1"
Option Explicit
Public Const AAA As String = "雇用継続給付初回"
Dim i As Integer
Dim n As Integer
Dim strg1 As String
Function TEL(Denwa As String)
Dim j As Integer
Dim k As Integer
Dim l As Integer
j = 0
k = 0
With Worksheets("社総括票")
For l = 1 To Len(Denwa)
If Mid(Denwa, l, 1) = "-" Then
If j = 0 Then
j = l
Else
k = l
End If
End If
Next
If j = 0 Then 'TEL1
.Cells(32, 2).Value = Denwa
Exit Function
Else
.Cells(32, 2).Value = Mid(Denwa, 1, j - 1)
End If
If k = 0 Then 'TEL2
.Cells(33, 2).Value = Mid(Denwa, j + 1, Len(Denwa) - j)
Exit Function
Else
.Cells(33, 2).Value = Mid(Denwa, j + 1, k - j - 1)
End If
.Cells(34, 2).Value = Mid(Denwa, k + 1, Len(Denwa) - k) 'TEL3
End With
End Function
Public Sub Body(f As TextFile, Wh As String)
'総括票XML作成
With Worksheets(Wh)
For i = 1 To .Cells(1005, 1).End(xlUp).Row
If .Cells(i, 2).Value = "" Then
f.TextWriteLine .Cells(i, 1).Value & .Cells(i, 3).Value
Else
f.TextWriteLine .Cells(i, 1).Value & .Cells(i, 2).Text & .Cells(i, 3).Value
End If
Next
End With
End Sub
Public Function GetTextData(ByVal i As Integer, ByVal FileName As String) As String
Dim buffer() As String '文字列受け取り用
GetStringArray buffer, FileName
GetTextData = buffer(i - 1)
End Function
Public Sub SetTextData(ByVal i As Integer, ByVal str As String, ByVal FileName As String)
'先に全部読み込む
Dim buffer() As String '文字列受け取り用
GetStringArray buffer, FileName
'書き換えたい文字列
buffer(i - 1) = str
Dim FileNumber As Integer 'ファイル番号
Dim LineCount As Integer '行数
'初期処理
FileNumber = FreeFile
LineCount = 0
'DOTO FreeFileで番号を得ること
Open FileName For Output As #FileNumber
For LineCount = 0 To UBound(buffer)
'ファイルをバイナリで読み込んで配列に格納
Print #FileNumber, buffer(LineCount)
Next
Close #FileNumber
End Sub
Public Sub GetStringArray(ByRef str() As String, ByVal FileName As String)
Dim FileNumber As Integer 'ファイル番号
Dim LineCount As Integer '行数
'初期処理
FileNumber = FreeFile
LineCount = 0
'DOTO FreeFileで番号を得ること
Open FileName For Input As FileNumber
Do While Not EOF(FileNumber)
'ファイルの長さで配列をデータを保持しながら初期化
ReDim Preserve str(LineCount)
'ファイルをバイナリで読み込んで配列に格納
Line Input #FileNumber, str(LineCount)
LineCount = LineCount + 1
Loop
Close #FileNumber
End Sub
Public Function PathCombine(ByVal str1 As String, ByVal str2 As String) As String
If Right(str1, 1) = "\" Then
PathCombine = str1 & str2
Else
PathCombine = str1 & "\" & str2
End If
End Function
Function MojiCheck(strg As String)
n = 0
For i = 1 To Len(strg)
strg1 = Mid(strg, i, 1)
If Asc(strg1) < 0 Then
If Asc(strg1) > -5468 Then
n = n + 1
End If
Else
If Asc(strg1) < 43 Or (Asc(strg1) > 46 And Asc(strg1) < 47) Or (Asc(strg1) > 48 And Asc(strg1) < 64) Or (Asc(strg1) > 94 And Asc(strg1) < 96) Or Asc(strg1) > 123 Then
n = n + 1
End If
End If
Next
If n = 0 Then
MojiCheck = ""
Else
MojiCheck = "??"
End If
End Function
Function FileNameCheck(Name As String) As Boolean
'空欄だったら何もしない
FileNameCheck = True
If Name = "" Then Exit Function
'ファイル名を取得
Dim FSO, PathName As String, FileName As String
Set FSO = CreateObject("Scripting.FileSystemObject")
FileName = FSO.GetFileName(Name)
'取得したファイル名をCheckHankakuで1文字ずつチェック
If CheckHankaku(Left(FileName, Len(FileName) - 4)) = False Then
FileNameCheck = False
Exit Function
End If
Set FSO = Nothing
FileNameCheck = True
End Function
Function CheckHankaku(strChkData As String) As Boolean
Dim strHan As String, i As Integer
'変数に半角カタカナを列挙した文字列をセットする
strHan = "。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚㈱ ㈲ ㈹ "
'引数として受け取った文字列を1文字ずつ取り出して変数strHanの文字列に
'該当するかチェックする。
For i = 1 To Len(strChkData)
If InStr(strHan, Mid(strChkData, i, 1)) <> 0 Then
CheckHankaku = False
Exit Function
End If
Next i
CheckHankaku = True
End Function
Attribute VB_Name = "Module1"
'’修正履歴 ------------------------------------------------------------------
'YBNO 31594 ito 20160502 シート名置換(登録2→登録、証明2→証明)
'’----------------------------------------------------------------------------
Option Explicit
Public Declare Function ShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" ( _
ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Public Const PROC_NAME As String = "高年齢雇用継続給付" 'YBNO 31594 ito 20160506 追加
''' YBNO18160 シート[証明]
''' R74C2 OR句を作った
''' END YBNO 18160
Sub 初期処理()
Dim ファイル名 As String
Dim TextFilename As String
Dim MyStr As String
Dim FileName As String
Dim n As Integer
Dim i As Integer
With ThisWorkbook.Worksheets("DATA")
ファイル名 = Left(.Cells(1, 1).Value, Len(.Cells(1, 1).Value) - 6)
'存在するかチェック
FileName = Workbooks("DaMenu.xls").path & "\DaProcess\MyTool\提出代行\" & ファイル名 & ".txt"
If Dir(FileName) = "" Then
MsgBox "電子申請用の会社情報が登録されていません。", 16, AAA
ThisWorkbook.Close False
Exit Sub
End If
'基本情報のパス
n = Workbooks(.Cells(1, 1).Value).Worksheets("会社情報").Cells(86, 2).Value
If n = 0 Then n = 1
.Cells(2, 2).Value = Workbooks("DaMenu.xls").path & "\DaProcess\Da保存\電子申請申請者\申請者情報" & n & ".txt"
'### 23803
If Not Application.Run("EAppCom.xla!IsFileExist", .Cells(2, 2).Value) Then
MsgBox "電子申請用の申請者情報が登録されていません。", 16, AAA
ThisWorkbook.Close False
Exit Sub
End If
'#2465 20120702
'届の社労士名のために、データを取得する
.Cells(12, 2).Value = Replace(GetTextData(16, .Cells(2, 2).Value), """", vbNullString)
.Cells(13, 2).Value = Replace(GetTextData(24, .Cells(2, 2).Value), """", vbNullString)
'END#2465 20120702
' '提出代行パス
.Cells(3, 2).Value = GetTextData(1, FileName)
.Cells(4, 2).Value = GetTextData(2, FileName)
.Cells(5, 2).Value = GetTextData(3, FileName)
'提出先コードと名称
.Cells(9, 2).Value = GetTextData(25, FileName)
'#40067/40288 ito 20180302
''20110125 masa コードを取得
''.Cells(8, 2).Value = GetTextData(24, filename)
'Application.Calculation = xlCalculationManual
' Workbooks.Open ThisWorkbook.path & "\提出先一覧.xls"
' For i = 1 To Cells(1005, 7).End(xlUp).Row
' If .Cells(9, 2).Value = Cells(i, 7).Value Then
' .Cells(8, 2).Value = Cells(i, 6).Value
' Exit For
' End If
' Next
' Workbooks("提出先一覧.xls").Close False
'Application.Calculation = xlCalculationAutomatic
.Cells(8, 2).Value = GetTextData(24, FileName)
'添付ファイルクリア
'#37486 ito 20171115 同意書まで範囲拡張
'.Range(.Cells(61, 2), .Cells(68, 2)).ClearContents
'.Range(.Cells(61, 4), .Cells(68, 4)).ClearContents
.Range(.Cells(61, 2), .Cells(73, 2)).ClearContents
.Range(.Cells(61, 4), .Cells(73, 4)).ClearContents
End With
Call チェック("登録")
Call チェック("証明")
Call XML作成("登録", ThisWorkbook.Worksheets("DATA").Cells(82, 2).Value)
Call XML作成("証明", ThisWorkbook.Worksheets("DATA").Cells(97, 2).Value)
Worksheets("MENU").Select
Application.ScreenUpdating = True
プレビュー.Show
'マスター.Show
End Sub
'Sub マスターへ()
' マスター.Show
'End Sub
Sub 終了へ()
Application.Run "DaAddin.xla!閉じる"
End Sub
Sub プレビューへ()
プレビュー.Show
End Sub
Sub XML作成(sh As String, sh1 As String)
Dim f1 As New TextFile
Dim f2 As New TextFile
Dim f3 As New TextFile
Application.DisplayAlerts = (False) 'メッセージ非表示
f1.FileCreate ThisWorkbook.path & "\スタイルシート\" & sh1 & "_01.xml", "UTF-8"
Body f1, sh
f1.FileClose
Application.DisplayAlerts = (True) 'メッセージ非表示
End Sub
Sub チェック(sh As String) 'XMLシートのエラーチェック
Dim i As Integer
Dim n As Integer
Application.Calculation = xlManual
With ThisWorkbook.Worksheets(sh)
For i = 10 To .Cells(3005, 1).End(xlUp).Row
If .Cells(i, 20).Value = "??" Or .Cells(i, 26).Value = "??" Or .Cells(i, 28).Value = "??" Or .Cells(i, 42).Value = "??" Then
MsgBox .Cells(i, 23).Value & "のデータが不正です。", 16, AAA
Application.Calculation = xlAutomatic
ThisWorkbook.Close False
End If
Next
End With
Application.Calculation = xlAutomatic
End Sub
Public Function SetTelNumber(ByVal str As String, ByVal no As Long) As String
If Len(str) - Len(Replace(str, "-", "")) = 2 Then
SetTelNumber = Split(str, "-")(no - 1)
Else
SetTelNumber = vbNullString
End If
End Function
Public Sub SelectAttachFile(ByVal TextString As String)
ShellExecute 0, "Open", TextString, "", "", 5
End Sub
'#33718 ito 20161004 追加
Sub manual()
Dim url As String
url = "https://www.cells.co.jp/daityo-s/wp-content/uploads/manual/koyoukeizoku.pdf"
Application.Run "DaAddin.xla!WebManual", url
End Sub
Attribute VB_Name = "TextFile"
Attribute VB_Base = "0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False
' TextFile:
' VBA class module for creating UTF-8 textfiles
'
' Usage:
' Dim fd As New TextFile
' fd.FileCreate "c:\any\path\to\the\textfile", "UTF-8"
' fd.TextWrite "any text"
' fd.TextWriteLine "any text line"
' fd.FileClose
'
…
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.