1, 和上次那边基本差不多,只不过是个实用的工具,多了些文件操作,模式匹配等,备份供参考

2, 如何打开VBA帮助,office2007里面

新建或打开已有OFFICE文档   
    
  ALT+F11   
  此時出現VBA編程介面,   
  幫助菜單

打开EXCEL,工具栏中选宏,单击visual   basic编辑器,出现了Microsoft   visual   basic,在其工具栏帮助中找Microsoft   visual   basic帮助.

#Auther: lancer
#Data: 2009.11.02
#Function: Get name of all muscic from GDD file and process it, then write to another excel file, to be used by code 
#Version: 1.00

#Modified
#Version: 1.01 12/17/2009  -- Remove existed files and create a new excel file;

#!usr/bin/perl
use strict;
use warnings;
use Win32::OLE;   #import win32 OLE package

my $dir = 'C://iphonegame//ParadiseQuest//iphone//trunk//doc//Production//';  #create two EXCEL files under this dir
my $src_name = $dir."Paradise Quest IPhone GDD"."/.xlsx";  #file to be read and processed
my $dst_name = $dir."test"."/.xlsx";  #file to be written
my $src_sheet_name = 'Sound and iTunes Access'; #sheet number in the source xls
my $dst_sheet_name = 'sheet1';  #sheet number in the destination xls
my $nowstr;
my $sound_name;
my $bgm_count = 0;
my $se_count = 0;
my $align_space = '    ';

print "By lancer/n";
#new a EXCEL application object, then we can operate to excel file
my $app_xls = Win32::OLE->new('Excel.Application', sub{$_[0]->Quit})
or die"Can't install Excel01!";
 
#open a EXCEL file, 'True' means read only
my $src_book = $app_xls->WorkBooks->Open($src_name, 0, 'True');
my $src_sheet = $src_book->Worksheets($src_sheet_name); #selete a worksheet

unlink $dst_name;
#while(<STDIN>){
#    
#}
print("delete primal file/n");

#open(OUTFILE, ">$dst_name")||die "Open file [$dst_name] error!";
#close(OUTFILE); #close excel file handle
##while(<STDIN>){
##    
##}
#print("open file/n");
#
#while(<STDIN>){
#    
#}
my $dst_book = $app_xls->WorkBooks->Add();

print("create new file/n");
#$dst_book->SaveAs($dst_name);
my $dst_sheet = $dst_book->Worksheets(1);
$app_xls->{DisplayAlerts} = 'False';    #close the alert of excel, such as change or save

for (my $i = 1; $i < 200; $i++) {
        $nowstr = $src_sheet->Cells($i,'D')->{Value};  #get data from a cell
        if($nowstr){
                if($nowstr eq 'bgm'){
                        $sound_name = $src_sheet->Cells($i,'C')->{Value};  #get data from a cell
                        process_bgm_name($sound_name);
                }elsif($nowstr eq 'se'){
                        $sound_name = $src_sheet->Cells($i,'C')->{Value};  #get data from a cell
                        process_se_name($sound_name);
                }
        }
}

#$dst_book->Save;  #save the change to destination xls
$dst_book->SaveAs($dst_name);
print("Finish process, file saved. Press Enter to quit!/n");
$app_xls->{DisplayAlerts} = 'True'; #restore the alert of excel

undef $src_book;
undef $dst_book;
undef $app_xls;  #close the opend excel application

my $a;
$a = <>;

sub process_bgm_name{
    ++$bgm_count;
    my $bgm_str = $_[0];
    
    #process enum value
    my $enum_str = uc($bgm_str);
    $enum_str =~ s//)?.(WAV|M4A)//;
    $enum_str =~ s// /(|[() -]/_/g;
    if($bgm_count==1){ #first enum
            $enum_str .= ' = 0';
    }
    $enum_str = $align_space . 'MUSIC_BGM_' . $enum_str . ',';

#process char array value
    my $char_str = $bgm_str;
    $char_str =~ s/.wav/.m4a/;
    $char_str = $align_space . '"' . $char_str . '",';
    
    print "$enum_str/n";
    print "$char_str/n";
    $dst_sheet->Cells($bgm_count,'A')->{Value} = $enum_str;  #write a data to a cell
    $dst_sheet->Cells($bgm_count,'B')->{Value} = $char_str; 
}

sub process_se_name{
    ++$se_count;
    my $se_str = $_[0];
    
    #process enum value
    my $enum_str = uc($se_str);
    $enum_str =~ s//)?.WAV//;
    $enum_str =~ s// /(|[() -]/_/g;
    if($se_count==1){ #first enum
            $enum_str .= ' = 0';
    }
    $enum_str =$align_space . 'SOUND_SE_' . $enum_str . ',';
    
    #process char array value
    my $char_str = $se_str;
    $char_str = $align_space . '"' . $char_str . '",';
    print "$enum_str/n";
    print "$char_str/n";
    $dst_sheet->Cells($se_count,'C')->{Value} = $enum_str;  #write a data to a cell
    $dst_sheet->Cells($se_count,'D')->{Value} = $char_str; 
}

另外一篇操作excel的参考相关推荐

  1. 告别ASP.NET操作EXCEL的烦恼(总结篇)

    公元19XX年前,关于EXCEL的操作就如滔滔江水,连绵不绝,真正操作EXCEL我也是从去年下半年开始的,有些比较复杂的年度报表之类的,做起来也有点费力,不过还是都能画出来了,关于EXCEL的报表导出 ...

  2. 告别ASP.NET操作EXCEL的烦恼(总结篇)(转)

    公元19XX年前,关于EXCEL的操作就如滔滔江水,连绵不绝,真正操作EXCEL我也是从去年下半年开始的,有些比较复杂的年度报表之类的,做起来也有点费力,不过还是都能画出来了,关于EXCEL的报表导出 ...

  3. 用python实现excel 14个常用操作,用Python 操作 Excel,这篇文章别错过了!(超全总结)...

    在之前的办公自动化系列文章中,我已经对Python操作Excel的几个常用库openpyxl.xlrd/xlwt.xlwings.xlsxwriter等进行了详细的讲解. 为了进一步带大家了解各个库的 ...

  4. 用Python 操作 Excel,这篇文章别错过了!(超全总结)

    在之前的办公自动化系列文章中,我已经对Python操作Excel的几个常用库openpyxl.xlrd/xlwt.xlwings.xlsxwriter等进行了详细的讲解. 为了进一步带大家了解各个库的 ...

  5. pythonexcel数据居中_Python 自动化操作 Excel 看这一篇就够了

    0 Python Excel库对比 我们先来看一下python中能操作Excel的库对比(一共九个库): 1 Python xlrd 读取 操作Excel 1.1 xlrd模块介绍 (1)什么是xlr ...

  6. Python操作Excel教程(全网最全,只看这一篇就够)

    目录 Python Excel库对比 1 Python xlrd 读取 操作Excel 1.1 xlrd模块介绍 1.2 安装xlrd模块 1.3 使用介绍 1.4 实战训练 2 Python xlw ...

  7. python连接excel存放数据_有了这篇python操作Excel学习笔记,以后储存数据 办公很轻松!...

    最近在做一些数据处理和计算的工作,因为数据是以.csv格式保存的,因此刚开始直接用Excel来处理.但是做着做着发现重复的劳动其实并没有多大的意义,于是就想着写个小工具帮着处理.以前正好在一本书上看到 ...

  8. Python“文件操作”Excel篇(上)

    大家好,我们今天来一起探索一下用Python怎么操作Excel文件.与word文件的操作库python-docx类似,Python也有专门的库为Excel文件的操作提供支持,这些库包括xlrd.xlw ...

  9. python(进阶篇)——自动化操作Excel(xlrd和xlwt)

    活动地址:CSDN21天学习挑战赛 学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩: 虽然永远无法预料明天是晴还是雨, 也无法预知你在乎的人是否还在身旁, 以及你一直以来的坚持究竟能否换来什么. ...

最新文章

  1. Solr 中遇到的问题
  2. 从深度图到点云的构建方式
  3. zabbix1.8和2.0版本通用的安装脚本
  4. [2018雅礼集训1-16]方阵
  5. UIBubbleTableView
  6. 配置LNMP遇到的问题(页面空白,不能解析php等)以及fastcgi和php-fom的关系
  7. 使用 uiautomator2
  8. codeforces round 422 div2 补题 CF 822 A-F
  9. 为什么维护工作让数据中心工作人员夜不能寐?
  10. CCIE-LAB-SDN-第六篇-SDWAN-Branch2-vEdge-51-vEdge-52
  11. 分布式系统 c语言,C语言分布式系统中的进程标识!
  12. 七.激光SLAM框架学习之A-LOAM框架---速腾Robosense-16线雷达室内建图
  13. php面试题 mysql 主从_php面试题之五——MySQL数据库(基础部分)
  14. 利用npm命令创建一个Vue项目并安装依赖
  15. Win11系统可以快速截屏吗?
  16. 定时器之多层级时间轮
  17. 算法交易的机遇和挑战
  18. 基础用户登录测试用例-最全用例设计
  19. 学习笔记-B/S - Exploits
  20. 灾难恢复之什么是RTORPO?

热门文章

  1. 多媒体实验三:Photoshop创作“小鸭图”
  2. python特殊方法大全_python中星号变量的几种特殊用法
  3. powermill程序单html模板,3-PowerMill程序单的模板定制
  4. 转:《米与盐的年代》一部没有西方文明的世界史
  5. 三齿轮问题:三个齿轮啮合
  6. 2022年Web平台的新动态
  7. 机器视觉——增益、曝光
  8. 计算机网络——第一章:计算机网络概述
  9. 基于asp.net的校园二手交易网站
  10. 实验篇(7.2) 16. 站对站安全隧道 - 通过聚合隧道走对方上网(FortiGate-IPsec) ❀ 远程访问