SoftwareEngineering

Active Directory

基礎知識

CSVファイルをエクセルで開く

<PACKAGE>
    
    <INFOMATION>
        <SUMMARY>CSVファイルをエクセルで開くスクリプト</SUMMARY>
        <REMARKS>
            CSVファイルをMicrosoft Office Excel 2003で開くためのスクリプトです。<BR />
            CSVファイルのフィールドは、すべて文字列として扱われます。<BR />
            先頭行はフィールド名と仮定し、ウィンドウ枠の固定とオートフィルタが設定されます。<BR />
            
            CSVファイルを当スクリプトにドラッグ&ドロップするか、<BR />
            SendToフォルダに格納して、ファイルを選択→右クリック→送る→当スクリプトで実行してください。<BR />
        </REMARKS>
        <AUTHOR>Reign</AUTHOR>
        <HOMEPAGE href="http://www.codereign.org/">CodeReign</HOMEPAGE>
    </INFOMATION>
    
    
    
    <JOB id="AppEntry">
        
        <SCRIPT language="VBScript">
            Function GetTextFileColumnDataTypes()
                GetTextFileColumnDataTypes = Array( 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 _
                                                   ,2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 _
                                                   ,2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 _
                                                   ,2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 _
                                                   ,2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 _
                                                   ,2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 _
                                                   ,2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 _
                                                   ,2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 _
                                                   ,2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 _
                                                   ,2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2)
            End Function
        </SCRIPT>
        
        
        
        <SCRIPT language="JavaScript">
            if (WScript.Arguments.length == 0) {
                WScript.Echo('開きたいCSVファイルをドラック&ドロップしてください。');
                WScript.Quit();
            }
            
            var ACTIVE_SHEET_INDEX = 1;
            var XLDELIMITED = 1;
            var XLTEXTQUALIFIERNONE = -4142;
            var XLINSERTDELETECELLS = 1
            
            var _Excel = new ActiveXObject('Excel.Application');
            _Excel.Visible = true;
            var _WorkBook = _Excel.Workbooks.add();
            
            
            for (var _FileCounter = 0; _FileCounter < WScript.Arguments.length; _FileCounter++) {
                var _Worksheet = _WorkBook.Sheets.add();
                
                var _Path = WScript.Arguments(_FileCounter);
                var _FileName = _Path.substr(_Path.lastIndexOf('\\') + 1);
                
                _Worksheet.Name = _FileName.substring(0, 30);
                
                // 外部データを取り込む
                var _Connection = 'TEXT;' + _Path;
                var _Wizard = _WorkBook.ActiveSheet.QueryTables.Add(_Connection, _WorkBook.ActiveSheet.Range('A1'));
                
                _Wizard.Name = _FileName;
                _Wizard.FieldNames = true;
                _Wizard.RowNumbers = false;
                _Wizard.FillAdjacentFormulas = false;
                _Wizard.PreserveFormatting = true;
                _Wizard.RefreshOnFileOpen = false;
                _Wizard.RefreshStyle = XLINSERTDELETECELLS;
                _Wizard.SavePassword = false;
                _Wizard.SaveData = true;
                _Wizard.AdjustColumnWidth = true;
                _Wizard.RefreshPeriod = 0;
                _Wizard.TextFilePromptOnRefresh = false;
                _Wizard.TextFilePlatform = 932;
                _Wizard.TextFileStartRow = 1;
                _Wizard.TextFileParseType = XLDELIMITED;
                _Wizard.TextFileTextQualifier = XLTEXTQUALIFIERNONE;
                _Wizard.TextFileConsecutiveDelimiter = false;
                _Wizard.TextFileTabDelimiter = true;
                _Wizard.TextFileSemicolonDelimiter = false;
                _Wizard.TextFileCommaDelimiter = true;
                _Wizard.TextFileSpaceDelimiter = false;
                _Wizard.TextFileColumnDataTypes = GetTextFileColumnDataTypes();
                _Wizard.TextFileTrailingMinusNumbers = true;
                _Wizard.Refresh(false);
                
                
                // ウィンドウ枠の固定
                _WorkBook.ActiveSheet.Range('A2').Select();
                _Excel.ActiveWindow.FreezePanes = true;
                
                
                // オートフィルタ
                _Excel.Selection.AutoFilter;
                
                
                // 閉じるときに、保存するか問われないようにする
                _Excel.DisplayAlerts = false;
            }
            
        </SCRIPT>
    </JOB>
</PACKAGE>

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-12-11 (水) 07:49:53 (240d)