2011-01-22 12 views
5

का उपयोग कर रहा मुझे बताओ कैसे एक Excel वर्कबुक/वर्कशीट को खोलने के लिए है और यह भी एक बार मैं समाप्त कर दिया है कि कैसे फ़ाइल को सहेजने के लिए एक पूछे जाने वाले प्रश्न के लिए खोज की है।स्वचालित Excel 2010 एफ #

मुझे पता है कि अधिकांश एफएक्यू में और मैंने खरीदी गई सभी पुस्तकों को एक नई वर्कबुक/वर्कशीट बनाने का तरीका दिखाया है, लेकिन यह कभी नहीं दिखाया जाता है कि इसे कैसे खोलें या सहेजें।

एफ # के लिए नौसिखिया होने के नाते यदि कोई मुझे कृपया उत्तर या शायद कुछ पॉइंटर्स प्रदान कर सकता है तो मैं इसकी बहुत सराहना करता हूं?

अद्यतन

के लिए क्यों एफ # और न C# या VB के रूप में?

मैं एक नौसिखिया होने के बावजूद है कि कहने के लिए खुश हूँ (आगे के अपवाद के, VBA & Excel 2003 के साथ, 2007 & 2010 और विजुअल बेसिक) मैं दोनों वीबी, VBA & सी # में और के बाद से मैंने यह कर सकते हैं दुर्भाग्य से मेरे हाथ पर बहुत समय के साथ, चिकित्सा के आधार पर सेवानिवृत्त कर दिया गया है, मैं लगातार अपने आप को मेरे छोटे से ग्रे कोशिकाओं को सक्रिय और नई भाषाएँ कोशिश कर के लिए एक प्रकार की मछली जा रहा रखने के लिए चुनौती सेट करना चाहते .... अच्छी तरह से!

एफ # अब विजुअल स्टूडियो 2010 का एक अंतरंग हिस्सा है इसलिए मैंने सोचा - क्यों नहीं। इस पर विचार करें - अगर हम उपयोग करने के लिए या कम से कम एक नई भाषाएँ कोशिश तैयार नहीं हैं - मैं हमेशा आश्चर्य हो सकता है अगर मैं हो सकता है VBA, वीबी, सी # करने के लिए इसे पसंद करते ..... और आप का एक और बिंदु से इस पर गौर करता है, तो देखें, अगर कोई इसका उपयोग नहीं करेगा - इसे पहले स्थान पर क्यों बनाएं? मैं अगर गुफा पुरुषों प्रयोग किया और दो छड़ियों को एक साथ रगड़ से आग नहीं बनाया था आप कह सकते हैं लगता है - जहाँ हम अब होगा और मैच का आविष्कार किया गया होता?

हालांकि एक पूरा उत्तर अच्छा होगा, लेकिन मेरी चुनौती जारी रखने के लिए मैं कुछ पॉइंटर्स पसंद करता हूं।

और आखिरकार कम से कम नहीं - जवाब देने में परेशानी लेने के लिए धन्यवाद!

+0

क्यों एफ # मानक सी # या वीबी नहीं है? – Bonshington

उत्तर

3

मुझे नहीं लगता कि यह कार्यालय के लिए एक विशिष्ट F # लाइब्रेरी है, इसलिए आप केवल उसी .NET लाइब्रेरी का उपयोग करेंगे जिसका उपयोग आप VB.NET/C# में करते हैं। इसलिए कुछ भी है कि सी # में किया जा सकता एफ # में किया जा सकता है (लेकिन आप शायद पहले से ही है कि :) जानते थे) एफ #, एक .NET भाषा है। API कॉल बिल्कुल वैसा ही हो जाएगा, यह सिर्फ है कि वे के बजाय वीबी/सी # एक एफ # सिंटैक्स का उपयोग किया जाएगा। उदाहरण के कुछ है कि इस

public void SaveMyWorkbook() { 
    string filePath = @"C:\failworkbooks\catfail.xlsx"; 
    workbook.Save(filepath); 
} 

की तरह लग रही के रूप में

let filePath = "C:\\failworkbooks\\catfail.xlsx"; 

let saveWorkbook() = workbook.Save(filePath) |> ignore //if the Save method return something 

अब एफ # में व्यक्त किया जाएगा के लिए तो, क्या आप जल्दी ही एहसास होगा कि एपीआई वास्तव में आसानी से एक से इस्तेमाल किया जा करने के लिए नहीं है कार्यात्मक भाषा। यह किया जा सकता है, लेकिन particuliar में यह कार्य सी #/वीबी.NET के लिए अधिक अनुकूल है।

यदि आप वास्तव में एफ # का आनंद लेना चाहते हैं, तो मेरा सुझाव है कि आप उस क्षेत्र में उपयोग करें जहां इसकी ताकत वास्तव में दिखाई दे। मेरा व्यक्तिगत अनुभव यह है कि जब बहुत सारे गणित शामिल होते हैं तो कार्यात्मक भाषा भयानक होती है। यह भी आश्चर्यजनक है यदि आप आसानी से अपने आवेदन में समांतरता को पेश करना चाहते हैं (चूंकि एफ # कोड आमतौर पर साइड इफेक्ट मुक्त होता है)। तो बहुत कुछ डेटा पर डेटा क्रंचिंग की आवश्यकता के लिए कुछ भी सही है। लेकिन उस कार्य के लिए जिसमें मुख्य रूप से बाहरी पुस्तकालय में एपीआई कॉल का एक गुच्छा डालने का समावेश होता है, एफ # एक प्रकार का मेह है। आप कह सकते हैं कि एफ # एक ग्राफिक कार्ड प्रोग्रामिंग भाषा की तरह है, जबकि सी # एक सामान्य उद्देश्य सीपीयू प्रोग्रामिंग भाषा है। सी # के साथ बहुत सी चीजें बेहतर चलती हैं, लेकिन एफ # रन पर वास्तव में पर बेहतर चीजें जो बेहतर होती हैं।

यदि आपको वास्तव में उस मार्ग जाना चाहता हूँ, मेरे सुझाव कार्यालय एपीआई का उपयोग करने के रूप में आप पहले से ही यह पता करने की कोशिश करना है, लेकिन एक एफ # वाक्य रचना के साथ। कुछ बिंदु पर क्या तुम सच में पता नहीं कैसे एक विशिष्ट काम करने के लिए है, तो अपने कोड के साथ stackoverflow पर इसके बारे में एक सवाल पूछने और वास्तव में आप क्या करना चाहते चाहते हैं। व्यापक प्रश्नों की तुलना में उन प्रश्नों को हास्यास्पद तेज़ी से उत्तर दिया गया है, इसलिए आप लंबे समय तक इंतजार नहीं करेंगे।

मुझे आशा है कि यह एक छोटे मदद की (प्रोग्रामर एक विशिष्ट उत्तर ^^ साथ सटीक प्रश्न प्यार करने लगते हैं)।

1

मैं इस http://iouri-khramtsov.blogspot.co.uk/2011/12/automating-excel-with-f.html उपयोगी सलाह मिल गया।

#r "Microsoft.Office.Interop.Excel" // Assuming it's a script 

let excel = ApplicationClass(Visible = true) 

let openFileName = @"C:\MyDir\MyFilenameToOpen.xls" 
excel.Workbooks.Open(openFileName) 

// Do stuff 

let savedFileName = @"C:\MyDir\MyFilename.xls" 
workbook.SaveAs(savedFileName) 

Excel के साथ एफ # का उपयोग करते हुए एक प्राकृतिक फिट की तरह लगता है: संक्षेप में, आप कुछ इस तरह का उपयोग करेंगे।

Excel में एक परिणाम के लिए हो रही है कई अपरिवर्तनीय मान, सूत्र द्वारा संचालित प्रत्येक के उपयोग की आवश्यकता है। एक्सेल एक शानदार यूजर इंटरफेस, दुनिया के एक सुंदर मॉडल है - मैं पंक्तियों, स्तंभों और कोशिकाओं प्यार - लेकिन स्वचालित या चीजों को अनुकूलित करने के लिए मैक्रो की आवश्यकता है। जब आप एफ # का उपयोग कर सकते हैं तो इसे क्यों सीखें? सूत्र और अपरिवर्तनीय मूल्य इसके डिजाइन के लिए मौलिक हैं।

आदर्श रूप से आप एफ # में उपयोगकर्ता परिभाषित फ़ंक्शन (यूडीएफ) के रूप में फ़ॉर्मूला लिखते हैं - http://excel-dna.net/ देखें। फिर, शायद, आप वस्तुओं/प्रकारों के साथ कुछ दिलचस्प करना चाहते हैं - "github com mndrake ExcelObjectHandler" की तलाश करें (मेरे पास तीसरा लिंक पोस्ट करने के लिए पर्याप्त प्रतिष्ठा नहीं है)।

जैक

संबंधित मुद्दे