
C#
文章平均质量分 86
勾吴江南
志异征诛,三让两家王朝;
功同开辟,一桮万古江南。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
树莓派4B连接KY008激光头
树莓派4B接KY008激光头是一个比较简单的应用。只要接线正确就能很快的跑起来。首先我们先有知道KY008激光头的每一个引脚的接法:下面是实物连接的照片然后在Raspberry Pi 4上运行下面的Python脚本就可以控制激光头了(前提是你的树莓派已经安装了Python3和RPI.GPIO模块):#!/usr/bin/python3# -*- coding:utf-8 -*-import RPi.GPIO as GPIOimport timeLaserGPIO =原创 2020-11-29 11:13:01 · 2419 阅读 · 1 评论 -
关于MySql/Mariadb上UUID在C#上的处理
在C#中处理MySql/Mariadb中的UUID最简单的方法是把Guid直接转换成CHAR(36)存到MySql/Mariadb数据库中。但是,这样的话有一定局限性,那就是当数据表对大小写敏感时,查询时可能因为大小写的问题找不到正确的UUID值。在Mariadb的官方文档上推荐的是将UUID存储为Binary(16)。并给出了两个用来处理UUID的函数:DELIMITER //CREA...原创 2020-02-23 10:08:15 · 936 阅读 · 0 评论 -
从Word文档中修改Excel Chart的内容
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows.Forms;using log4net;using Microsoft.Office.Core;using Word = Microsoft.Office.Interop.Word原创 2012-07-05 14:35:48 · 2005 阅读 · 0 评论 -
Outlook 2010的一个Bug
环境:Windows 7 旗舰版 Visual Studio 2010、Office 2010重现步骤:在Visual Studio 2010中用C# 建立一个Outlook Add-in 项目(framework 3.5 或framework 4.0)在项目中添加一个Ribbon(Ribbon Visual Designer,不是Ribbon Xml)。将这个Ribbon的Ribbo原创 2012-07-05 13:13:17 · 1007 阅读 · 0 评论 -
MAPIFolder.UserDefinedProperties 的作用
在OOM(Outlook Object Module)中UserDefinedProperties看起来非常奇怪,你可以定义它,却不能给它赋值。其实UserDefinedProperties是用来建立一个用户自定义项来显示其文件夹下Item中相应的自定义值的。下面是个用来说明的小例子。 using System;using System.Collections.Generic;usin原创 2012-07-04 19:42:42 · 995 阅读 · 0 评论 -
Word中关于Table的alt text的编程问题
在Word中Table属性对话框上有一个alt text的标签,其下有Title和Description两个项目。然后再底部有Alertnative Text云云。许多人就被这个Alertnative Text给糊弄了,以为Table下有AlertnativeText属性。在发现Table下没有AlertnativeText属性后认为可能是在Table.Range.InlineShapes[ind原创 2012-06-20 15:53:34 · 1684 阅读 · 0 评论 -
一个需要授权的Excel add-in
在网上有朋友问我怎么阻止非授权用户使用add-in。在这里我给出一个例子(当然,在实际工作中使用的逻辑要远比这个复杂。这里只是说明一个大体的过程罢了)首先我在app.config中设定了一个MD5值(就是我的授权码了,本例中是“This is a test!”)。 然后再ThisAddIn中作如下修改:using System;using Sy原创 2012-05-25 15:04:22 · 1512 阅读 · 0 评论 -
向SdtBlock中添加Table
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows.Forms;using DocumentFormat.OpenXml.Packaging;using DocumentFormat.OpenXml.Wordprocessing;u原创 2012-05-18 13:22:59 · 1074 阅读 · 1 评论 -
Selection.CopyAsPicture 只是用来拷贝图片而不是将文字转化为图片
在工作中有客户问下面的代码为什么会返回false。Word.Selection wdSelection = Application.Selection;Clipboard.Clear();Application.ActiveWindow.Selection.SetRange(Application.ActiveDocument.Bookmarks["\\Page"].Range.S原创 2012-06-05 12:55:25 · 3626 阅读 · 0 评论 -
Openxml 读取指定列的数据
在这个示例中指定"A","B","C"为需要读取的列。using System.Windows.Forms;using DocumentFormat.OpenXml.Packaging;using DocumentFormat.OpenXml.Spreadsheet;using System.Text.RegularExpressions;namespace ConsoleAppli原创 2012-05-15 12:53:49 · 2662 阅读 · 0 评论 -
代码设定Log4net
在下面这个示例中,我将创建一个向控制台和"a.log"文件中写入日志的logusing System;using System.Collections.Generic;using System.Linq;using System.Text;using log4net;using log4net.Appender;using log4net.Layout;using log4net原创 2012-05-28 12:52:45 · 801 阅读 · 0 评论 -
WdWordDialog.wdDialogContentControlProperties 使用
Dialog newDialog = wordApplication.Dialogs[WdWordDialog.wdDialogContentControlProperties]; newDialog.Show(); 如果没有ContentControl被选中,上面代码会报错。原创 2012-04-16 13:10:45 · 751 阅读 · 0 评论 -
使用OpenXml为Excel表格添加合计行
添加前表格:运行后结果:实现代码:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO;using DocumentFormat.OpenXml.Packaging原创 2012-04-13 13:10:42 · 2214 阅读 · 0 评论 -
Excel的地址解析
在Open Xml中Excel单元格的位置时在CellReference中确定的其格式为[字母][数字]。其总字母标示列的位置,数字表示行的位置。在实际操作过程中我们最初取得的都是数字的行列号。所以必须知道如何在数字的行列号与CellReference格式的行列号之间是如何转化的。这个例子通过正则表达式来完成这个转化。using System;using System.Collectio原创 2012-04-11 10:45:17 · 1075 阅读 · 0 评论 -
PowerPoint 使用Ribbon Xml改写Ribbon按钮的动作
这是一个根据用户需求给出的例子,用来改写“插入表格(I) ...”按钮的动作。我们可以以此引申为在Office中所有Button或CommandButton都可以用这样的方法改变动作。Ribbon Xml 内容如下: Ribbon Class 如下:using System;using System.Collections.Generic;原创 2012-07-06 14:11:07 · 1940 阅读 · 0 评论 -
PowerPoint2003上嵌入Excel Sheet
一下代码在PowerPoint2003的第二个Slide上嵌入一个Excel Sheet(有且只有一个Sheet)。using System;using System.IO;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using原创 2012-06-26 14:29:11 · 995 阅读 · 0 评论 -
Word中自定义“撤销记录”(UndoRecord)的使用
在Word中用户可以通过UndoRecord来记录一组动作,并显示在撤销菜单内。这样可以让用户一次性删除大量的操作。下面的代码是在Visual Studio 2010, Word 2010 下建立的一个示例:using System;using System.Collections.Generic;using System.Linq;using System.Text;using Mi原创 2012-06-28 11:34:12 · 1554 阅读 · 0 评论 -
在Excel中创建和使用ServerDocument
ServerDocument是微软提供的一种读取Word或Excel文档级应用中CachedData的工具。本示例将向你展示如何使用用ServerDocument。 1. 创建文档级应用打开Visual Studio,新建一个Excel Workbook应用2. 创建数据模型在类库中,建产一个名为“ContractTable”的数据表。原创 2013-08-11 20:35:55 · 1371 阅读 · 0 评论 -
C#汉字判断的实现
看了http://bbs.youkuaiyun.com/topics/380159364 觉得很有意思,在这是做了一些还原。在此与大家分享:/** * 作者:许阳 * 日期:2013年2月28日 * 简述: * */using System;using System.Collections.Generic;using System.Linq;using System.Text;usi原创 2013-02-28 20:20:17 · 738 阅读 · 0 评论 -
在控制台程序中Application.Documents.Open方法失效
这个可能跟DCOM的设定有关。请尝试以下步骤去解决它:打开dcomcnfg.exe->Computer->Local Computer->Config DOCOM->搜索Microsoft Word 97-2003 Document->Properties->Identity->把Launching User改为Interactive User原创 2013-02-12 16:46:38 · 1575 阅读 · 0 评论 -
Word 刚启动是写在add-in中的NewDocument事件为什么不会被触发
因为NewDocument事件结束在ThisAddIn_Startup方法之前,也就是说在NewDocument事件被订阅之前这个事件就已经执行完毕了。原创 2013-02-05 09:44:59 · 816 阅读 · 0 评论 -
OpenXml获取被保护Sheet的密码并解除保护
using System;using System.Collections.Generic;using System.Linq;using System.Text;using DocumentFormat.OpenXml.Spreadsheet;using com.mksword.Net.OpenXmlTools;using com.mksword.OpenXmlUtil_log4ne原创 2013-01-16 08:58:08 · 1709 阅读 · 0 评论 -
C#中利用反射操作私有字段与私有方法
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Reflection;namespace ConsoleApplication14{ class Program { static void Main(string原创 2013-01-01 15:58:00 · 1362 阅读 · 0 评论 -
在Word 中用C#查找Wingdings符号
在Word我们通常在VBA或VB.NET环境下以如下方式查找Wingdings符号: Dim wdApp As Word.Application = Globals.ThisDocument.Application Dim wdDoc As Word.Document = wdApp.ActiveDocument Dim wdRange As Wo原创 2012-12-31 15:10:31 · 2430 阅读 · 0 评论 -
使用OpenXml向空白文档添加一个带表格线的表
using System;using System.Collections.Generic;using System.Linq;using System.Text;using DocumentFormat.OpenXml.Packaging;using DocumentFormat.OpenXml.Wordprocessing;using com.mksword.Net.OpenXml原创 2012-11-08 17:16:28 · 6733 阅读 · 0 评论 -
使用OpenXml转换docx内容为RTF
实际上这是个非常蛋疼的命题。它需要你有两个方面的能力:1. 你实际RTF格式。2. 你知道在OpenXml格式的文档中各种Style存在于哪个部份。由于完整的RTF style非常多。我这里只写了一个最简单的例子,希望它能起排线的作用:假设我有一个docx文档如下:Hello!This is a test text.用Open Xml转换成RTF代码原创 2012-11-06 12:52:48 · 2048 阅读 · 0 评论 -
在Office自动化条件下读文档属性
在Office Add-in下我们读取CustomDocumentProperties应该是没有问题的。 可是你会发现在Office Automation条件下CustomDocumentProperties是无法直接读取的(至少在我的环境下:Visual Studio 2010, Office 2010是无法实现的)。所以我们必须使用反射来“曲线救国”。以下代码演示了读取CustomDocume原创 2012-10-23 13:29:38 · 1033 阅读 · 0 评论 -
获取Excel中Undo按钮的项目
在VSTO中我们可以通过以下代码来获取Undo按钮的列表: private static Office.CommandBars getCommandBars() { return (Office.CommandBars)Globals.ThisWorkbook.Application.GetType().InvokeMember("Comm原创 2012-10-29 15:17:00 · 1589 阅读 · 0 评论 -
使用Inlinestring和在Inlinestring中实现line break
在Openxml中使用SharedStringTablePart储存文字信息比较麻烦。在实际操作过程中使用InlineString是个不错的选择。在下面的例子中我将演示如何使用InlineString。另外在这个示例中,为了实现line break的效果,我设置了单无格的自动换行。这个也可能是最简的自动换行的设置。我把它放在这里供大家参考。using System;using Syste原创 2012-09-26 12:08:45 · 1735 阅读 · 0 评论 -
C# 在文档光标处插入文字后光标移至被插入文字后
实现环境:Visual Studio 2010, VSTO 4.0, Office 2010.using System;using System.Collections.Generic;using System.Linq;using System.Text;using Microsoft.Office.Tools.Ribbon;using Word = Microsoft.Offic原创 2011-11-30 16:47:20 · 2869 阅读 · 0 评论 -
使用Items.restrct搜索关键字
搜索body和Subject:Outlook.Items items = Inbox.Items.Restrict("@SQL=\"urn:schemas:httpmail:textdescription\" like '%" + [keyworkds] + "'");只搜索Subject:Outlook.Items iis = Inbox.Items.Restrict("原创 2012-03-16 12:07:06 · 1122 阅读 · 0 评论 -
一个始终显示在Excel前的窗体
一下代码实现一个始终显示在Excel前的窗体,不论你怎么切换工作表它都不会消失。当Excel最小化时它会与Excel窗口一起从桌面上消失。using System;using System.Collections.Generic;using System.Linq;using System.Text;using Microsoft.Office.Tools.Ribbon;usin原创 2012-03-02 14:39:14 · 2452 阅读 · 1 评论 -
RibbonX 动态生成ComboBox和DropDown的Item
先让我们来看一下xml文件的设定:<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load"> <group id="GroupExcelAddIn12" label="ExcelAddI原创 2011-12-15 13:13:40 · 4197 阅读 · 0 评论 -
一个生成随机密码的WPF小程序
实现环境:Visual Studio 2010MainWindow.xaml<Window x:Class="WpfApplication3.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.micro原创 2011-12-09 15:41:51 · 1350 阅读 · 0 评论 -
给Outlook 2007的Calendar视图增加个右键菜单项
实现环境:Visual Studio 2010, Office 2007, VSTO 4.0using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Xml.Linq;using Outlook = Microsoft.Office.Interop.Ou原创 2011-12-23 12:20:48 · 1885 阅读 · 4 评论 -
向Excel文档中嵌入VBA控件和UserForm并显示
实现环境:Visual Studio 2010, Excel 2010, VSTO 4.0在文档中嵌入一个Commandbutton点击它会显示一个UserForm,UserForm上有一个CommandButton点击会弹出消息框然后CommandButton的Caption改变。当UserForm关闭是文档中的CommandButton的Caption改变。VB.NET:Imp原创 2011-12-22 13:09:33 · 5115 阅读 · 0 评论 -
如果的打开Word文档是Visible参数设为false你会得不到Selection实体
以下是异常重现代码:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.D原创 2011-12-21 13:25:48 · 1893 阅读 · 0 评论 -
在Ribbon中使用自定义图像。
实现环境:Visual Studio 2010, Office 2010, VSTO 4.0<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load"> <group id="MyGroup"原创 2011-12-12 12:12:02 · 2418 阅读 · 1 评论 -
在Outlook新邮件中向光标所在处插入一段新文字然后光标后移
实现环境:Visual Studio 2010, Outlook 2010, VSTO runtime 4.0C#using System;using System.Collections.Generic;using System.Linq;using System.Text;using Microsoft.Office.Tools.Ribbon;using Outlook =原创 2011-12-12 11:17:41 · 3883 阅读 · 2 评论 -
Excel从另一个Excel文件中用户自定义区域(UsedRange)拷贝数据和行高、列宽
实现环境:Visual Studio 2010, Office 2010, VSTO 4.0, .NET Framework 4.0using System;using System.Collections.Generic;using System.Linq;using System.Text;using Microsoft.Office.Tools.Ribbon;using E原创 2011-12-09 14:10:24 · 5564 阅读 · 0 评论