UseOfficeInitOffice Method |
Loads MS Office® library (MS Word, Excel, PowerPoint) from memory
Namespace: SautinSoftAssembly: UseOffice (in UseOffice.dll) Version: 2024.12.12
Syntax Public Function InitOffice As Integer
Return Value
Int32
0 - Loading successfully
1 - Can't load MS Excel (Word and PowePoint are loaded successfully)
10 - Can't load MS Word (Excel and PowerPoint are loaded successfully)
11 - Can't load MS Word and Excel (PowerPoint loaded successfully)
100 - Can't load MS PowerPoint (Excel and Word are loaded successfully)
101 - Can't load MS Excel and PowerPoint (Word loaded successfully)
110 - Can't load PowerPoint and Word (Excel loaded successfully)
111 - Can't load MS Office
Example How to convert Word Excel PowerPoint files to PDF files in C#
using System;
using System.IO;
using System.Collections.Generic;
namespace Sample
{
class Test
{
static void Main(string[] args)
{
SautinSoft.UseOffice u = new SautinSoft.UseOffice();
string directoryWithFiles = Path.GetFullPath(@"..\..\..\..\..\..\TestFiles\");
int ret = u.InitOffice();
if (ret == 111)
return;
string[] filters = null;
switch (ret)
{
case 0: filters = new string[] { "*.doc", "*.docx", "*.rtf", "*.txt", "*.xls", "*.xlsx", "*.csv", "*.ppt", "*.pptx" }; break;
case 1: filters = new string[] { "*.doc", "*.docx", "*.rtf", "*.txt", "*.ppt", "*.pptx" }; break;
case 10: filters = new string[] { "*.xls", "*.xlsx", "*.csv", "*.ppt", "*.pptx" }; break;
case 11: filters = new string[] { "*.ppt", "*.pptx" }; break;
case 100: filters = new string[] { "*.doc", "*.docx", "*.rtf", "*.txt", "*.xls", "*.xlsx", "*.csv" }; break;
case 101: filters = new string[] { "*.doc", "*.docx", "*.rtf", "*.txt" }; break;
case 110: filters = new string[] { "*.xls", "*.xlsx", "*.csv" }; break;
default: return;
}
List<string> inpFiles = new List<string>();
foreach (string filter in filters)
{
inpFiles.AddRange(Directory.GetFiles(directoryWithFiles, filter));
}
string ext = "";
string outFilePath = "";
DirectoryInfo outDir = new DirectoryInfo(Directory.GetCurrentDirectory()).CreateSubdirectory("Results");
for (int i = 0; i < inpFiles.Count; i++)
{
SautinSoft.UseOffice.eDirection direction = SautinSoft.UseOffice.eDirection.DOC_to_PDF;
ext = Path.GetExtension((string)inpFiles[i]).ToLower();
if (ext.IndexOf("doc") > 0)
direction = SautinSoft.UseOffice.eDirection.DOC_to_PDF;
else if (ext.IndexOf("rtf") > 0)
direction = SautinSoft.UseOffice.eDirection.RTF_to_PDF;
else if (ext.IndexOf("txt") > 0)
direction = SautinSoft.UseOffice.eDirection.TEXT_to_PDF;
else if (ext.IndexOf("xls") > 0)
direction = SautinSoft.UseOffice.eDirection.XLS_to_PDF;
else if (ext.IndexOf("csv") > 0)
direction = SautinSoft.UseOffice.eDirection.XLS_to_PDF;
else if (ext.IndexOf("ppt") > 0)
direction = SautinSoft.UseOffice.eDirection.PPT_to_PDF;
string outFileName = (Path.GetExtension(inpFiles[i]) + "topdf.pdf").TrimStart('.');
outFilePath = Path.Combine(outDir.FullName, outFileName);
u.ConvertFile((string)inpFiles[i], outFilePath, direction);
Console.WriteLine($"{i + 1} of {inpFiles.Count}...");
}
Console.WriteLine("Done!");
u.CloseOffice();
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(outDir.FullName) { UseShellExecute = true });
}
}
}
How to convert Word Excel PowerPoint files to PDF files in VB.Net
Imports System
Imports System.IO
Imports System.Collections.Generic
Namespace Sample
Friend Class Test
Shared Sub Main(ByVal args() As String)
Dim u As New SautinSoft.UseOffice()
Dim directoryWithFiles As String = Path.GetFullPath("..\..\..\..\..\..\TestFiles\")
Dim ret As Integer = u.InitOffice()
If ret = 111 Then
Return
End If
Dim filters() As String = Nothing
Select Case ret
Case 0
filters = New String() {"*.doc", "*.docx", "*.rtf", "*.txt", "*.xls", "*.xlsx", "*.csv", "*.ppt", "*.pptx"}
Case 1
filters = New String() {"*.doc", "*.docx", "*.rtf", "*.txt", "*.ppt", "*.pptx"}
Case 10
filters = New String() {"*.xls", "*.xlsx", "*.csv", "*.ppt", "*.pptx"}
Case 11
filters = New String() {"*.ppt", "*.pptx"}
Case 100
filters = New String() {"*.doc", "*.docx", "*.rtf", "*.txt", "*.xls", "*.xlsx", "*.csv"}
Case 101
filters = New String() {"*.doc", "*.docx", "*.rtf", "*.txt"}
Case 110
filters = New String() {"*.xls", "*.xlsx", "*.csv"}
Case Else
Return
End Select
Dim inpFiles As New List(Of String)()
For Each filter As String In filters
inpFiles.AddRange(Directory.GetFiles(directoryWithFiles, filter))
Next filter
Dim ext As String = ""
Dim outFilePath As String = ""
Dim outDir As DirectoryInfo = (New DirectoryInfo(Directory.GetCurrentDirectory())).CreateSubdirectory("Results")
For i As Integer = 0 To inpFiles.Count - 1
Dim direction As SautinSoft.UseOffice.eDirection = SautinSoft.UseOffice.eDirection.DOC_to_PDF
ext = Path.GetExtension(CStr(inpFiles(i))).ToLower()
If ext.IndexOf("doc") > 0 Then
direction = SautinSoft.UseOffice.eDirection.DOC_to_PDF
ElseIf ext.IndexOf("rtf") > 0 Then
direction = SautinSoft.UseOffice.eDirection.RTF_to_PDF
ElseIf ext.IndexOf("txt") > 0 Then
direction = SautinSoft.UseOffice.eDirection.TEXT_to_PDF
ElseIf ext.IndexOf("xls") > 0 Then
direction = SautinSoft.UseOffice.eDirection.XLS_to_PDF
ElseIf ext.IndexOf("csv") > 0 Then
direction = SautinSoft.UseOffice.eDirection.XLS_to_PDF
ElseIf ext.IndexOf("ppt") > 0 Then
direction = SautinSoft.UseOffice.eDirection.PPT_to_PDF
End If
Dim outFileName As String = (Path.GetExtension(inpFiles(i)) & "topdf.pdf").TrimStart("."c)
outFilePath = Path.Combine(outDir.FullName, outFileName)
u.ConvertFile(CStr(inpFiles(i)), outFilePath, direction)
Console.WriteLine($"{i + 1} of {inpFiles.Count}...")
Next i
Console.WriteLine("Done!")
u.CloseOffice()
System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(outDir.FullName) With {.UseShellExecute = True})
End Sub
End Class
End Namespace
See Also