Excel表格完成录音与回放.docx
《Excel表格完成录音与回放.docx》由会员分享,可在线阅读,更多相关《Excel表格完成录音与回放.docx(13页珍藏版)》请在冰豆网上搜索。
![Excel表格完成录音与回放.docx](https://file1.bdocx.com/fileroot1/2022-12/8/a7249ae1-8ebb-4d81-a7d7-7e2a2f124dea/a7249ae1-8ebb-4d81-a7d7-7e2a2f124dea1.gif)
Excel表格完成录音与回放
想学吗?
让Excel表格完成录音与回放!
!
!
在给学生讲Excel表格时,很多学生感觉到它很难。
问我可不可以把我讲课的内容录制下来,让他们拿回家再多看几遍。
我想可以用录像机把我讲课的内容录下来,但操作不方便,又费时费力。
我想学生只是要看我讲课的内容,又不是看我讲课的台风,如果只把这讲课的内容录下来不就行了吗?
经过研究,我找到了一种方法,既可以让学生看见我的Excel表格操作步骤,又可以听见我讲话的声音。
特写下来以供有这方便需求的读者参考。
操作步骤:
第一步:
打开Excel→单击菜单中的"插入"按钮→选择"对象"。
第二步:
在"对象"对话框中选择"音效"→单击"确定"按钮。
第三步:
单击"开始录制声音"按钮。
这时就可以边操作边讲话了。
所讲的话全部被录在电子表中了。
(注:
这种录单方式只能录60秒,当然我们可以让它多录制一会,方法是:
当快录制完时单击一下"停止录制"按钮,再单击"开始录制声音"按钮,这样循环往复,便可以长时间录制了)
第四步:
全部录制完毕后→单击"文件"菜单中的"退出"按钮→再弹出的对话框中单击"是"按钮。
最后把这个文件保存起来拿给学生,学生只需要双击电子表格中的图标便可以听见声音了。
excel经验小结
(二)
一、感叹号(!
)中括号([])在自定义格式中的作用是什么?
叹号是强制使其后面的一个字符按照普通文本显示,比如A1=123,如果要显示成123h,定义格式为0h是不行的,因为字母h在格式中代表特殊含义(小时),所以要定义成0!
h,字母h会被强制显示。
[]的作用有几种:
1、设置条件,比如[>10]0a,数字大于10时,数字后面加字母a。
2、显示颜色,[红色]0;[蓝色]-0,正数和0显示红色,负数显示为蓝色。
3、扩展显示(不知道怎么准确命名),比如A1=1.2(天),表示成时分秒格式,如果用h:
mm:
ss,显示为4:
48:
00,小时不能大于24,如果设置为[h]:
mm:
ss,则显示为28:
48:
00。
(此项转于:
)
二、快速输入时间,首先选定单元格区域--格式--单元格--日期--选中所需日期类型",假如选定的是:
"2010-1-4"形式的,那么可用输入"2010/1/4"即可,单元格会自动转换的,如果是当年的,可直接输入:
"1/4"即可。
三、Excel将YYYYMMDD日期格式改为YYYY-MM-DD格式或YYYY年MM月DD日
若A1=20081201,转化为日期型:
B1=DATE(MID(A2,1,4),MID(A2,5,2),MID(A2,7,8)),然后在B1单元格中直接设置格式即可。
或B1=MID(A2,1,4)&"年"&MID(A2,5,2)&"月"&MID(A2,7,8)&"日")。
MID函数的语法是,"=MID(含取值的数值,取值开始位序号,取值位数)。
假设A1身份证号码是210304198812316014,提取生日的公式是"=MID(A1,7,4)&"年"&MID(A1,11,2)&"月"&MID(A1,13,2)&"日"",返回的是"1998年12月31日"。
四、excel如何将yyyymm日期格式修改为yyyy/mm
选中单元格-》鼠标右键-》设置单元格格式-》自定义-》在"类型"里面填写:
0000!
/00即可。
(这里的0和!
都是占位符,具体可从网上查看).
五、excel表格里将100s如何转化为时间格式00:
01:
40?
=TEXT(A1/86400,"[hh]:
mm:
ss")或者直接=A1/86400,然后将单元格设置为自定义格式:
hh:
mm:
ss,在单元格时间的基本单位是天,所以一天是24*60*60=86400秒。
加括号才可以总小时的累计。
六、excel表格中将时间00:
01:
40转换成秒数?
在A1单元格中输入时间"00:
01:
26",在A2单元格中输入"=SUM(HOUR(A1)*3600,MINUTE(A1)*60,SECOND(A1))",注意单元格要设置成数值形式的,本人就是没有注意这个,搞了半天。
Excel高级使用技巧
1、编辑技巧
1编辑技巧
(1)分数的输入
如果直接输入“1/5”,系统会将其变为“1月5日”,解决办法是:
先输入“0”,然后输入空格,再输入分数“1/5”。
(2)序列“001”的输入
如果直接输入“001”,系统会自动判断001为数据1,解决办法是:
首先输入“'”(西文单引号),然后输入“001”。
(3)日期的输入
如果要输入“4月5日”,直接输入“4/5”,再敲回车就行了。
如果要输入当前日期,按一下“Ctrl+;”键。
(4)填充条纹
如果想在工作簿中加入漂亮的横条纹,可以利用对齐方式中的填充功能。
先在一单元格内填入“*”或“~”等符号,然后单击此单元格,向右拖动鼠标,选中横向若干单元格,单击“格式”菜单,选中“单元格”命令,在弹出的“单元格格式”菜单中,选择“对齐”选项卡,在水平对齐下拉列表中选择“填充”,单击“确定”按钮(如图1)。
图1
DataGridView导出excel
本文参考网友江边孤岛(感谢原作者)的《WinForm中DataGrid扩展类-快速导出Excel文件,带保存对话框,并杀死进程。
相对完美的解决方案!
》(url:
63517.aspx)而写,但本文是DataGridView导出Excel,DataGridView中的隐含列不导出。
在贴出代码前几点说明如下:
1、添加MicrosoftExcel11.0ObjectLibrary的引用后,在项目的引用列表中会多出3个引用项,分别是Excel、Microsoft.Office.Core、VBIDE;(当然添加MicrosoftWord11.0ObjectLibrary的引用后,在项目的引用列表中也会多出3个引用项,分别是Word、Microsoft.Office.Core、VBIDE,即第一个是变化的,后两个是相同的,但如果你添加MicrosoftOffice11.0ObjectLibrary,那么仅有Microsoft.Office.Core)
微软的Office对象库包含:
MicrosoftAccess11.0ObjectLibrary
MicrosoftGraph11.0ObjectLibrary
MicrosoftExcel11.0ObjectLibrary
MicrosoftOffice11.0ObjectLibrary
MicrosoftOutlook11.0ObjectLibrary
MicrosoftPowerPoint11.0ObjectLibrary
MicrosoftWord11.0ObjectLibrary
对于上面的对象库,微软是否提供了API文档?
本人尚未找到。
2、文件是否已经打开的判断,网上很多是以独享的方式打开文件,如果出现异常则说明文件已经在使用中,我觉得这个判断不理想,不知道是否有更好的处理方法?
3、实测中发现执行设置Excel字体大小和将字体设置为粗体的语句耗时较长,不知道是本人机器环境的原因还是Excel的普遍问题?
4、原文杀死excel进程的处理方法并不得当,会将所有正在使用的excel都关闭掉。
但导出excel确实会增加excel的进程,不妥。
一下是代码
调用方法为:
导出类源码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Diagnostics;
usingSystem.IO;
usingMicrosoft.Office.Interop.Excel;
namespacezzxx
{
publicclassExportToExcel
{
//记录保存文件的名称(含路径)
privatestringFullFileName=string.Empty;
#region保存对话框
privateboolSaveFileDialog()
{
SaveFileDialogsaveFileDialog1=newSaveFileDialog();
saveFileDialog1.Filter="excelfiles(*.xls)*.xls";
saveFileDialog1.FilterIndex=0;
saveFileDialog1.RestoreDirectory=true;
//标志变量、返回结果
boolIsOK=false;
boolresult=false;
//文件已经存在,需要重新输入文件名时,循环打开保存对话框
while(!
IsOK)
{
if(saveFileDialog1.ShowDialog()==DialogResult.OK)
{
//修改给定的文件名,增加时间信息
//FullFileName=saveFileDialog1.FileName.Insert(saveFileDialog1.FileName.LastIndexOf("\\")+1,DateTime.Now.ToString("yyyyMMdd"));
FullFileName=saveFileDialog1.FileName;
//文件信息,判断文件是否已经存在;
//遗留问题:
文件是否已经打开本想在此处判断,但没有找到合适的方法.
FileInfofi=newFileInfo(FullFileName);
if(fi.Exists)
{
DialogResultdr=MessageBox.Show("文件已经存在,是否覆盖现有文件?
","系统信息",MessageBoxButtons.YesNoCancel);
if(dr==DialogResult.Yes)
//覆盖现有文件
{
IsOK=true;
result=true;
}
elseif(dr==DialogResult.Cancel)
//如果取消操作
{
IsOK=true;
result=false;
}
//如果不覆盖现有文件,则IsOK仍为false,实现循环
}
}
else
{
IsOK=true;
result=false;
}
}
returnresult;
}
#endregion
#region导出Excel
publicvoidToExcel(FormParentWindow,DataGridViewExportGrid,stringp_ReportName)
{
//如果网格尚未数据绑定
if(ExportGrid==null)
return;
//列索引,行索引
intcolIndex=0;
introwIndex=0;
//总可见列数,总可见行数
intcolCount=ExportGrid.Columns.GetColumnCount(DataGridViewElementStates.Visible);
introwCount=ExportGrid.Rows.GetRowCount(DataGridViewElementStates.Visible);
//如果DataGridView中没有行,返回
if(rowCount==0)
return;
//保存对话框
if(!
SaveFileDialog())
return;
ParentWindow.Cursor=Cursors.WaitCursor;
//创建Excel对象
Microsoft.Office.Interop.Excel.ApplicationxlApp=newMicrosoft.Office.Interop.Excel.Application();
if(xlApp==null)
{
MessageBox.Show("Excel无法启动","系统信息");
return;
}
//创建Excel工作薄
Microsoft.Office.Interop.Excel.WorkbookxlBook=xlApp.Workbooks.Add(true);
Microsoft.Office.Interop.Excel.WorksheetxlSheet=(Microsoft.Office.Interop.Excel.Worksheet)xlBook.Worksheets[1];
//设置标题。
实测中发现执行设置字体大小和将字体设置为粗体的语句耗时较长,故注释掉了
Microsoft.Office.Interop.Excel.Rangerange=xlSheet.get_Range(xlApp.Cells[1,1],xlApp.Cells[1,colCount]);
range.MergeCells=true;
xlApp.ActiveCell.FormulaR1C1=p_ReportName;
//xlApp.ActiveCell.Font.Size=20;
//xlApp.ActiveCell.Font.Bold=true;
xlApp.ActiveCell.HorizontalAlignment=Microsoft.Office.Interop.Excel.Constants.xlCenter;
//创建缓存数据
object[,]objData=object[rowCount+1,colCount];
//获取列标题,隐藏的列不处理
for(inti=0;i{
if(ExportGrid.Columns[i].Visible)
objData[rowIndex,colIndex++]=ExportGrid.Columns[i].HeaderText;
}
//获取数据,隐藏的列的数据忽略
for(inti=1;i<=rowCount;i++)
{
rowIndex++;
colIndex=0;
for(intj=0;j{
if(ExportGrid.Columns[j].Visible)
{
if(ExportGrid[j,rowIndex-1].ValueType==typeof(string))
{
objData[rowIndex,colIndex++]="'"+ExportGrid[j,rowIndex-1].Value.ToString();
}
else
{
objData[rowIndex,colIndex++]=ExportGrid[j,rowIndex-1].Value.ToString();
}
}
}
System.Windows.Forms.Application.DoEvents();
}
//写入Excel
//xlApp.get_Range(xlApp.Cells[2,1],xlApp.Cells[2,colIndex]).Font.Bold=true;
range=xlSheet.get_Range(xlApp.Cells[2,1],xlApp.Cells[rowCount+2,colCount]);
range.Value2=objData;
//保存
try
{
xlApp.Cells.EntireColumn.AutoFit();
xlApp.Cells.VerticalAlignment=Microsoft.Office.Interop.Excel.Constants.xlCenter;
xlApp.Cells.HorizontalAlignment=Microsoft.Office.Interop.Excel.Constants.xlCenter;
//xlApp.Visible=true;
xlBook.Saved=true;
xlBook.SaveCopyAs(FullFileName);
MessageBox.Show("导出成功!
","系统信息");
ParentWindow.Cursor=Cursors.Default;
}
catch
{
MessageBox.Show("保存出错,请检查文件是否正被使用!
","系统信息");
//returnfalse;
}
finally
{
xlApp.Quit();
GC.Collect();
KillProcess("excel");
}
}
#endregion
#region杀死进程
privatevoidKillProcess(stringprocessName)
{
System.Diagnostics.ProcessmyProc=newProcess();
//得到所有打开的进程
try
{
foreach(ProcessthisprocinProcess.GetProcessesByName(processName))
{
thisproc.Kill();
}
}
catch(Exceptionexc)
{
thrownewException("",exc);
}
}
#endregion
}
}
ExporttoExcelV-B-6
PublicSubCSMatListToExcel()
'*********************************************************
'*名称:
ExportToStoreExcel
'*功能:
导出数据据到EXCEL
'*用法:
ExportToStoreExcel(sql查询字符串)
'*********************************************************
DimRs_DataAsNewADODB.Recordset
DimIrowcountAsInteger
DimIcolcountAsInteger
DimstrSQLAsString
DimxlAppAsNewExcel.Application
DimxlBookAsExcel.Workbook
DimxlSheetAsExcel.Worksheet
DimxlQueryAsExcel.QueryTable
OnErrorGoToerrHandle
strSQL="CSMO_ALLMaterialList"+Sqv(txtWo(0).Text)+","+Sqv(InitLoad.LoginUserId)
SetRs_Data=
WithRs_Data
If.RecordCount<1Then
MsgBox("没有记录!
")
ExitSub
EndIf
'记录总数
Irowcount=.RecordCount
'字段总数
Icolcount=.Fields.Count
EndWith
SetxlApp=CreateObject("Excel.Application")
SetxlBook=Nothing
SetxlSheet=Nothing
SetxlBook=xlApp.Workbooks().Add
SetxlSheet=xlBook.Worksheets("sheet1")
xlApp.AlertBeforeOverwriting=False
xlApp.DisplayAlerts=False
xlApp.Visible=False
xlSheet.Range("a1").Value="+txtWo(0).Text+"物料清单"
xlApp.ActiveSheet.Range("a1:
I1").Merge
'添加查询语句,导入EXCEL数据
SetxlQuery=xlSheet.QueryTables.Add(Rs_Data,xlSheet.Range("a2"))
WithxlQuery
.FieldNames=True
.RowNumbers=False
.FillAdjacentFormulas=False
.PreserveFormatting=True
.RefreshOnFileOpen=False
.BackgroundQuery=True
.RefreshStyle=xlInsertDeleteCells
.SavePassword=True
.SaveData=
.AdjustColumnWidth=True
.RefreshPeriod=0
.PreserveColumnInfo=True
EndWith
xlQuery.FieldNames=True'显示字段名
xlQuery.Refresh
WithxlSheet
.Range(.Cells(1,1),.Cells(1,Icolcount)).Font.Name="细明体"
'标题为黑体字
.Range(.Cells(1,1),.Cells(1,Icolcount)).Font.Bold=True
'标题字体加粗
.Range(.Cells(2,1),.Cells(Irowcount+2,Icolcount)).Borders.LineStyle=xlContinuous
'设置表格边框样式
EndWith
xlApp.Act