在Word/Excel中,您必须添加自定义属性.(见图) 自定义属性.正如你们可以看到的那样:"属性:",你可以在那里添加你想要的任何信息.保存文件并转到文件夹中的文件位置时,可以右键单击 - >属性,然后选择所有选项卡:常规/安全/详细信息/以前的版本.使用该功能添加选项卡Custom.
现在我想通过编码获取此信息:自定义属性信息.然后将其提取到记事本中.到目前为止我使用了Shell32但后来我只获得了详细信息选项卡中的信息.我做了一些研究,并看到了一些可能性DSOfile.dll.但我想知道是否有可能在不安装其他DLL的情况下这样做?到目前为止这是我的代码Shell32.
static void Main(string[] args)
{
//using (StreamWriter writer = new StreamWriter(@"filepathhere"))
//{
//Console.SetOut(writer);
ReadProperties();
//}
}
static void ReadProperties()
{
List<string> arrHeaders = new List<string>();
Shell shell = new Shell();
Folder objFolder = shell.NameSpace(@"filepathhere");
FolderItem objFolderItem = objFolder.ParseName("filehere.doc");
for (int i = 0; i < short.MaxValue; i++)
{
string header = objFolder.GetDetailsOf(objFolder, i);
if (String.IsNullOrEmpty(header))
break;
arrHeaders.Add(header);
}
for ( int i = 0; i < …Run Code Online (Sandbox Code Playgroud) 首先注意我的计算机上没有安装solidworks,但是将这些文件用于项目.
Solidworks能够为文件属性创建自定义选项卡.在此选项卡中,您可以找到有关在solidworks中制作的模型(零件)的所有类型的信息.
我读出了所有这些信息并将其存储在一个.txt文件中.在此信息中,您可以找到我的问题所在的零件的材料类型.
我知道材质类型,但在solidworks中,用户也可以指定custom materials自定义属性中定义的材质.例如,材料只是普通木材,但用户希望这种木材是粉红色的.
是否可以读出custom materials附加到自定义属性中的材料?
我有一个看起来像这样的字符串:"texthere^D123456_02".但我想要我的结果D123456.
这是我到目前为止所做的:
if (name.Contains("_"))
{
name = name.Substring(0, name.LastIndexOf('_'));
}
Run Code Online (Sandbox Code Playgroud)
有了这个我至少删除了_02,但如果我尝试相同的方式^然后我总是回来texthere,即使我使用name.IndexOf("^")
我也尝试只检查^,至少得到结果:D123456_02但仍然是相同的结果.
我甚至尝试过name.Replace("^"然后使用之前使用的子串方式.但结果再次保持不变.
texthere并不总是相同的长度,所以是不可能.Remove()的.
我究竟做错了什么?
谢谢