我的code
例如:
@"D:\DocToImg\111.pptx"
這樣每一次都只能讀到這一個檔案(寫死的這樣,每次別人要用會變成程式還要去改....)
我請教別人,可以把路徑修改寫在App.config上
(可以變成寫成活的這樣...)
可是查了兩天沒什麼頭緒想請教各位大大
如果完成,使用者就能依照他使用狀況,去設定他要開D槽C槽還是E槽了(裡面的ppt檔案,或excel檔了)
好的
感謝您回復
我來研究看看
我的 config 是寫這樣,但我.cs檔 不知道 要寫什麼
我是有把大大給的網址複製貼過去看
不行
不曉的去改哪裡....
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="111.pptx" value="D:\\DocToImg\\" />
</appSettings>
</configuration>
你有什麼錯誤嗎?
ted8224
我剛幫你試了
你要先把System.Configuration加入參考
然後using他
之後應該跟我貼的一樣就沒問題了
有加入了.
using System.Configuration;
namespace _2018_5_30__ALL
{
class Program
{
public void writeConfig(string appPath, string key, string value)
{
ConfigurationManager.AppSettings["111.pptx"].ToString();
Configuration config = ConfigurationManager.OpenExeConfiguration(appPath);
config.AppSettings.Settings[key].Value = value;
config.Save();
}
是可以 我只是不曉得 我這樣 寫對嗎?....
上面 有一些 是我從其他地方找來的
接下來 後面 是我一個 轉檔Code功能這樣
這樣寫沒錯
但是你要修改config?
一般應該手動去改喔
我貼 完整code好了...麻煩 大大 幫看一下...可以run 但是 路徑 怎還是 舊的路徑?
是阿 ...讓 客戶他們去改 路徑就不會變成寫死了...不是嗎?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Office.Interop.Word;
using Word = Microsoft.Office.Interop.Word;
using Microsoft.Office.Interop.PowerPoint;
using PowerPoint = Microsoft.Office.Interop.PowerPoint;
using Microsoft.Office.Core;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using Spire.Xls;
using System.Configuration;
using System.Collections;
using System.Collections.Specialized;
using System.Diagnostics;
using System.Reflection;
namespace _2018_5_30__ALL
{
class Program
{
public void writeConfig(string appPath, string key, string value)
{
ConfigurationManager.AppSettings["AAA.pptx"].ToString();
Configuration config = ConfigurationManager.OpenExeConfiguration(appPath);
config.AppSettings.Settings[key].Value = value;
config.Save();
}
static void Main(string[] args)
{
string pptPath = @"D:\DocToImg\111.pptx"; //ppt檔案路徑
// string outPutPath = @"D:\DocToImg\+ Interop.PowerPoint-img-{0}.png"; //輸出路徑
string outPutPath = @"D:\DocToImg\11.png"; //輸出路徑
try
{
Microsoft.Office.Interop.PowerPoint.Application pptApplication = new Microsoft.Office.Interop.PowerPoint.Application();
Microsoft.Office.Interop.PowerPoint.Presentation pptPresentation = pptApplication.Presentations.Open(pptPath,
Microsoft.Office.Core.MsoTriState.msoTrue, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse);
int i = 0;
//將一頁頁的簡報匯出成圖檔
foreach (Microsoft.Office.Interop.PowerPoint.Slide pptSlide in pptPresentation.Slides)
{
// string fileName = string.Format("Interop.PowerPoint-img-{0}.png", i);
string fileName = string.Format("BB{0}.png", i);
outPutPath = @"C:\AAA + Interop.PowerPoint-img-{0}.png";
//C:\Users\Egan\Desktop\DocPrinter.Test\DocFolder\ + Interop.PowerPoint-img-{0}.png
pptSlide.Export(outPutPath + fileName, "PNG", 800, 600); // 1024*768 ,調整解析度
i++;
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
Console.ReadKey();
}
}
}
}
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="111.pptx" value="D:\\GGo\\" />
</appSettings>
</configuration>
ted8224
你的問題應該改成讓 客戶他們去改 路徑要如何寫...
這種狀況應該是要用資料庫才對吧...
大大 請問您,config檔是bin\Debug裡我有找到一個2018_5_30 ALL.exe.config
是改這裡嗎?
那我裡面的
這一行 寫這樣
但我去run程式
並不會對 D槽裡GGo資料夾裡的BBB的ppt檔案
去進行我的下面轉檔功能
對..就是2018_5_30 ALL.exe.config
你用程式修改時是修改到這隻
因為Webform是把原本的檔案複製到bin/Debug底下執行
不會轉檔你可能要下中斷點看一下問題出在哪