- ©«¤l
- 3
- ¥DÃD
- 1
- ºëµØ
- 0
- ¿n¤À
- 5
- ÂI¦W
- 0
- §@·~¨t²Î
- Windows7
- ³nÅ骩¥»
- Office2010
- ¾\ŪÅv
- 10
- ©Ê§O
- ¨k
- µù¥U®É¶¡
- 2016-10-13
- ³Ì«áµn¿ý
- 2016-12-16

|
- Sub ¥¨¶°1()
- ' Timing
- Dim Time0#
- Time0 = Timer
-
- ' Close screenupdating to boost the procedure
- Application.ScreenUpdating = False
-
- ' Import XML data (cms_info)
- ActiveWorkbook.XmlImport URL:= _
- "C:\Users\JM-ASUSCG5285\Desktop\CMS\20150101\cms_info_0000.xml", ImportMap:= _
- Nothing, Overwrite:=True, Destination:=Range("$A$1")
- ActiveWorkbook.XmlMaps("XML_Head_Map").Name = "XML_Head_Map_Info"
-
- ' Import another XML data (cms_value)
- Sheets("¤u§@ªí2").Select
-
- ActiveWorkbook.XmlImport URL:= _
- "C:\Users\JM-ASUSCG5285\Desktop\CMS\20150101\cms_value_0000.xml", ImportMap:= _
- Nothing, Overwrite:=True, Destination:=Range("$A$1")
-
- ' Delete unnecessary data
- Columns("A:B").EntireColumn.Delete
- Columns("B:B").EntireColumn.Delete
- Columns("C:C").EntireColumn.Delete
- ' Setting the succeeding import default
- With ActiveWorkbook.XmlMaps("XML_Head_Map")
- .ShowImportExportValidationErrors = False
- .AdjustColumnWidth = True
- .PreserveColumnFilter = True
- .PreserveNumberFormatting = True
- .AppendOnImport = False
- End With
- ' Deal with the string
- [D1].FormulaR1C1 = "¥þ§ÎÂà¥b§Î"
- [D2].FormulaR1C1 = "=ASC([@message])"
- Columns("D:D").ColumnWidth = 41
-
- [E1].FormulaR1C1 = "§tÃöÁä¦r»P§_"
- [E2].FormulaR1C1 = _
- "=IF(COUNTIF([@message],""*¾Ã¶ë*"")+COUNTIF([@message],""*K*"")+COUNTIF([@message],""*k*"")+COUNTIF([@message],""*«B*"")+COUNTIF([@message],""*¤ÑÔ¤£¨Î*""),1,0)"
-
- ' Find dest
- 'Dim dest&, count&
- Count = 1
- [F2].FormulaR1C1 = "=SUM([§tÃöÁä¦r»P§_])"
- Count = [F2].Value
- Columns("F:F").EntireColumn.Delete
- dest = Count + 1
- 'MsgBox (dest)
- ' Filter
- Dim i&, LR&
- 'dest = [F1].Value
- 'MsgBox (dest)
- Sheets("¤u§@ªí2").ListObjects("ªí®æ2").Range.AutoFilter Field:=5, Criteria1:="1"
- LR = Range("A" & Rows.Count).End(xlUp).Row
- Range("A1:P" & LR).SpecialCells(xlCellTypeVisible).Select
- Selection.Copy
- Sheets("¤u§@ªí3").Range("A1").PasteSpecial xlPasteValues
- Sheets("¤u§@ªí2").ListObjects("ªí®æ2").Range.AutoFilter Field:=5
- sPath = "C:\Users\JM-ASUSCG5285\Desktop\CMS\20150101\"
- sFile = Dir(sPath & "*.xml")
- 'MsgBox (sFile)
- i = 1
- Do While sFile <> ""
- If sFile <> "cms_info_0000.xml" And sFile <> "cms_value_0000.xml" Then
- ActiveWorkbook.XmlMaps("XML_Head_Map").Import URL:= _
- sPath & sFile
- If [A3].Value <> "" Then
- '°ÊºA³B²z
- [F2].FormulaR1C1 = "=SUM([§tÃöÁä¦r»P§_])"
- Count = [F2].Value
- Columns("F:F").EntireColumn.Delete
- dest = dest + 1
- Sheets("¤u§@ªí2").ListObjects("ªí®æ2").Range.AutoFilter Field:=5, Criteria1:="1"
- LR = Range("A" & Rows.Count).End(xlUp).Row
- Range("A2:P" & LR).SpecialCells(xlCellTypeVisible).Select
- Selection.Copy
- Sheets("¤u§@ªí3").Range("A" & dest).PasteSpecial xlPasteValues
- dest = dest + Count - 1
- Sheets("¤u§@ªí2").ListObjects("ªí®æ2").Range.AutoFilter Field:=5
- End If
- End If
- sFile = Dir()
- i = i + 1
- Loop
-
- ' Parameterize/ Structure the sheet
- Sheets("¤u§@ªí3").Select
- ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$E$" & dest), , xlYes).Name = "ªí®æ3"
-
- Application.ScreenUpdating = True
- MsgBox "°õ¦æ®É¶¡ " & Timer - Time0 & " ¬í", vbOKOnly
- End Sub
½Æ»s¥N½X ª¦¤F¤@¨Ç¼W¶i®Ä²vªº¤å«á
Ãö±¼screenupdating¥H¤Î´î¤Öselectionªº¨Ï¥Î
¥[¤W±N¶×¤J¸ê®Æ¿z¿ï·Qn¸ê®Æ«á¶K¦Ü·sªí®æ¡A¦Ó«D¦bìªí®æ¿z¿ï¥X¤£n¸ê®Æ§R°£
³t«×§Ö¤F«D±`¦h¡A¬ù 1¤À¥b¤º¶]§¹¤@¾ã¤Ñªº¸ê®Æ
¥Ø«e¹J¨ìªº°ÝÃD¬Oselection«áªºvalue·Q¥Îtransfer¦Ó«Dcopy©Mpasteªº¤è¦¡¤£ª¾¹D«ç»ò³B²z
ÁöµM¤£ª¾¹D³t«×·|¦A§Ö¦h¤Ö¡A¦ý¥Ø«eµ²ªGºâ®t±j¤H·N¤F
»P¤j®a¤À¨É¡AY¦³«ØÄ³ÁٽФ£§[´£¥X¡AÁÂÁ¡I |
|