এমএস এক্সেলের জন্য সংস্করণ নিয়ন্ত্রণের সর্বোত্তম উপায়


172

আপনি এমএস এক্সেল (2003/2007) এর সাথে কোন সংস্করণ নিয়ন্ত্রণ ব্যবস্থা ব্যবহার করেছেন? আপনি কি সুপারিশ করবেন এবং কেন? আপনার শীর্ষ রেট করা সংস্করণ নিয়ন্ত্রণ সিস্টেমের সাথে আপনি কোন সীমাবদ্ধতা খুঁজে পেয়েছেন?

এটিকে পরিপ্রেক্ষিতে রাখার জন্য, এখানে কয়েকটি ব্যবহারের কেস দেওয়া আছে:

  1. ভিবিএ মডিউলগুলির জন্য সংস্করণ নিয়ন্ত্রণ
  2. একাধিক ব্যক্তি এক্সেল স্প্রেডশিটে কাজ করছেন এবং তারা একই ওয়ার্কশিটে পরিবর্তন করতে পারে, যা তারা একীভূত করতে এবং সংহত করতে চান। এই কার্যপত্রকের সূত্র, ডেটা, চার্ট ইত্যাদি থাকতে পারে
  3. ব্যবহারকারীরা খুব প্রযুক্তিগত নন এবং কম সংস্করণ নিয়ন্ত্রণ ব্যবস্থা আরও ভাল ব্যবহার করা হয়েছে
  4. স্থান বাধা বিবেচনা। পুরো এক্সেল স্প্রেডশিটের চেয়ে আদর্শভাবে কেবলমাত্র বৃদ্ধিকাল পরিবর্তনগুলি সংরক্ষণ করা হয়।

17
গুগল অ্যাপস / ডক্সের এমএস এক্সেলের পুরো কার্যকারিতা নেই, যা আপনাকে মডেলিংয়ের মতো আরও উন্নত কাজ করতে হবে।
TheObserver

25
@ রিচি কটন যদি এটি ব্যবহারিক বিকল্প (যেমন মাতলাব / অজগর ব্যবহার করা) হত তবে সমস্ত আর্থিক সংস্থাগুলি এতক্ষণে পরিবর্তিত হয়ে যেত। ফিনান্সিকাল মডেলগুলি বিশ্লেষণ করেও প্রোগ্রামার হওয়ার জন্য প্রোগ্রামার নয় এমন লোকদের জিজ্ঞাসা করা বিপদজনক এবং বাস্তবিকভাবে অযৌক্তিকভাবে পরিপূর্ণ।
বেনামে টাইপ করুন

1
stackoverflow.com/q/608872/107537 এখানে অনুরূপ প্রশ্ন দেখুন। তবে এটি ওয়ার্কশিটগুলিকে নিজেরাই সম্বোধন করে না। কেবল ভিবিএ কোড।
বিজয়

7
যারা ক্রেডিট ক্রંચের জন্য এক্সেল মডেলিংকে দোষ দিচ্ছেন তারা সম্ভবত প্রতারণাকারীরা ইচ্ছাকৃতভাবে এএএ হিসাবে জাঙ্ক বিক্রি করে। বিনিয়োগের জঞ্জাল বলে জানাতে আপনার কোনও স্প্রেডশিট লাগবে না। ফাইন্যান্স লোক হওয়ার কারণে, আমি আপনাকে বলতে পারি যে কোনও মডেলের উপর সম্পূর্ণ নির্ভরতা হ'ল আপনার গাধা হারানোর একটি নিশ্চিত আগুনের উপায়। তদুপরি, যে কোনও মডেল তাদের তৈরি করা লোকের মতোই দুর্দান্ত। যদি আপনি আইনস্টাইনের কাজ করার জন্য মোর্টস ভাড়া করেন তবে আপনার খারাপ সময় আসবে।
এরিক জে

আপনি যদি বেশিরভাগই কেবল ভিবিএ ম্যাক্রোগুলিতে সংস্করণ নিয়ন্ত্রণ করতে আগ্রহী হন তবে আমার উত্তরটি এখানে দেখুন: stackoverflow.com/a/38297505/2146688
চেল

উত্তর:


64

আমি সবেমাত্র একটি স্প্রেডশিট সেটআপ করেছি যা বাজার ব্যবহার করে ম্যানুয়াল চেকইন সহ / টর্টিসবিজেডআর দিয়ে। বিষয়টি আমাকে সেভ অংশের সাথে সহায়তা করেছে তা প্রদত্ত, আমি আমার সমাধানটি এখানে পোস্ট করতে চেয়েছিলাম।

আমার জন্য সমাধানটি ছিল একটি স্প্রেডশিট তৈরি করা যা সেভের সমস্ত মডিউল রপ্তানি করে, এবং খোলা অবস্থায় মডিউলগুলি সরিয়ে এবং পুনরায় আমদানি করে। হ্যাঁ, বিদ্যমান স্প্রেডশিটগুলিতে রূপান্তর করার জন্য এটি সম্ভাব্য বিপজ্জনক হতে পারে।

এটি আমাকে মডিউলগুলিতে ইম্যাক্স (হ্যাঁ, ইম্যাকস) মাধ্যমে অথবা স্থানীয়ভাবে এক্সেলের মাধ্যমে ম্যাক্রোগুলি সম্পাদনা করতে এবং বড় পরিবর্তনের পরে আমার বিজেডআর সংগ্রহস্থল প্রতিশ্রুতি দেয় allows সমস্ত মডিউলগুলি পাঠ্য ফাইল হওয়ায় বিজেডআর-তে স্ট্যান্ডার্ড ডিফ-স্টাইল কমান্ডগুলি এক্সেল ফাইলটি বাদে আমার উত্সগুলির জন্য কাজ করে।

আমি আমার বিজেডআর সংগ্রহস্থলের জন্য একটি ডিরেক্টরি সেটআপ করেছি, এক্স: S ডেটা \ মাইশিট। রেপোতে আমার প্রতিটি মডিউল (যেমন: মডিউল 1 ম্যাক্রোস) এর জন্য MySheet.xls এবং একটি .vba ফাইল রয়েছে। আমার স্প্রেডশিটে আমি এমন একটি মডিউল যুক্ত করেছি যা "ভার্সনকন্ট্রোল" নামক রফতানি / আমদানি চক্র থেকে অব্যাহতিপ্রাপ্ত। রফতানি এবং পুনরায় আমদানি করা প্রতিটি মডিউল অবশ্যই "ম্যাক্রোস" এ শেষ হবে।

"সংস্করণ নিয়ন্ত্রণ" মডিউলটির সূচি:

Sub SaveCodeModules()

'This code Exports all VBA modules
Dim i%, sName$

With ThisWorkbook.VBProject
    For i% = 1 To .VBComponents.Count
        If .VBComponents(i%).CodeModule.CountOfLines > 0 Then
            sName$ = .VBComponents(i%).CodeModule.Name
            .VBComponents(i%).Export "X:\Tools\MyExcelMacros\" & sName$ & ".vba"
        End If
    Next i
End With

End Sub

Sub ImportCodeModules()

With ThisWorkbook.VBProject
    For i% = 1 To .VBComponents.Count

        ModuleName = .VBComponents(i%).CodeModule.Name

        If ModuleName <> "VersionControl" Then
            If Right(ModuleName, 6) = "Macros" Then
                .VBComponents.Remove .VBComponents(ModuleName)
                .VBComponents.Import "X:\Data\MySheet\" & ModuleName & ".vba"
           End If
        End If
    Next i
End With

End Sub

এরপরে, এই ম্যাক্রোগুলি চালানোর জন্য আমাদের খোলার / সংরক্ষণের জন্য ইভেন্ট হুক সেটআপ করতে হবে। কোড দর্শনে, "এই ওয়ার্কবুক" এ ডান ক্লিক করুন এবং "কোড দেখুন" নির্বাচন করুন। "(সাধারণ)" ভিউ থেকে "ওয়ার্কবুক" ভিউতে পরিবর্তন করতে আপনাকে কোড উইন্ডোর শীর্ষে থাকা বাক্সটি নীচে টানতে হবে।

"ওয়ার্কবুক" দেখার সামগ্রী:

Private Sub Workbook_Open()

ImportCodeModules

End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

SaveCodeModules

End Sub

আমি পরের কয়েক সপ্তাহ ধরে এই কর্মপ্রবাহে স্থিত হব এবং আমার কোনও সমস্যা হলে পোস্ট করব।

ভিবিসি কম্পোনেন্ট কোড ভাগ করে নেওয়ার জন্য ধন্যবাদ!


5
আপনি যখন আবার আমদানি করেন, আপনি মডিউলটির ধরণও পরীক্ষা করতে পারেন। এই ওয়ার্কবুক.ভিবিপ্রজেক্ট.ভিবিসিএমপি. উপাদানস (আই) .টি প্রমিত মডিউলটির জন্য 1, শ্রেণি মডিউলটির জন্য 2, একজন ব্যবহারকারীরূপের জন্য 3, এবং একটি নথি মডিউলের জন্য 100 (ওয়ার্কবুক বা একটি শীট) is
জন ক্রোয়েল

4
আমদানি কোডে একটি বাগ রয়েছে। আপনি মুছে ফেলা এবং মডিউলগুলি আমদানি করার কারণে এটি মডিউলগুলির ক্রম পরিবর্তন করে যাতে আপনি প্রতিবার কয়েকটি অনুপস্থিত missing অ্যারের মাধ্যমে পিছনের দিকে যেতে আপনাকে লুপটি পরিবর্তন করতে হবে। উদাহরণস্বরূপ আই = .ভিবিসিএস উপাদানগুলির জন্য: 1 টি পদক্ষেপ -1
Tmdean

2
এক্সেল ২০১৩ এ ট্রাস্ট সেন্টারে "ভিবিএ প্রজেক্টের মডেলটিতে বিশ্বাসের অ্যাক্সেস" সক্ষম করা প্রয়োজন, অন্যথায় আপনি এই কোডটি চালানোর চেষ্টা করলে আপনি খুব অসহ্য ত্রুটি 1004 পান get
রবিন গ্রিন

8
উপরের এই লিপিটি নিখুঁত। ImportCodeModules () সাবটি বগি এবং নকল মডিউল উত্পাদন করে ate তদ্ব্যতীত, উন্মুক্ত এবং পূর্ববর্তী সংরক্ষণের ইভেন্টগুলি যুক্ত করতে আপনাকে প্রতিটি একক ওয়ার্কবুক সম্পাদনা করতে হবে। এটা অগ্রহণযোগ্য. দীর্ঘ সময় ওয়েবে অনুসন্ধান করার পরে আমি অবশেষে এমন কিছু পেয়েছি যা আসলে কাজ করে , (যা এখানে বোঝায় )। এটিতে কোড আমদানি, রফতানি, কোড ফর্ম্যাটিং এবং আরও অনেক কিছু রয়েছে। রফতানি সংরক্ষণের সময় স্বয়ংক্রিয়ভাবে ঘটে এবং কোনও বিদ্যমান ওয়ার্কবুক সম্পাদনা করার প্রয়োজন নেই।
কোডকিড

5
এটি একটি দুর্দান্ত সন্ধান! আমি উপরের আমার স্ক্রিপ্টের চেয়ে এটি ব্যবহার করার পরামর্শ দেব। আমি এটি একবার লিখেছি এবং কিছুক্ষণ ব্যবহার করেছি, এটি আমার প্রয়োজনগুলি পূরণ করেছে। যে কেউ প্রতিদিন এক্সেল এবং ভিবিএ ব্যবহার করেন, সেই এক্সপোর্টের জন্য উত্সর্গীকৃত একটি প্রোগ্রাম বা প্রকল্প অনেক বেশি উপযুক্ত হবে। ভাগ করে নেওয়ার জন্য ধন্যবাদ!
ডেমোসথেঞ্জেক্স

42

কচ্ছপ এসভিএন সাবভার্সিয়ন সংস্করণ নিয়ন্ত্রণ সিস্টেমের জন্য একটি বিস্ময়করভাবে উইন্ডোজ ক্লায়েন্ট। একটি বৈশিষ্ট্য যা আমি সবেমাত্র এটি আবিষ্কার করেছি তা হ'ল আপনি যখন এক্সেল ফাইলের সংস্করণগুলির মধ্যে পার্থক্য পেতে ক্লিক করেন তখন এটি এক্সেলের উভয় সংস্করণ খুলবে এবং পরিবর্তিত কক্ষগুলি হাইলাইট করবে (লাল)। এটি এখানে বর্ণিত একটি vbs স্ক্রিপ্টের যাদু দ্বারা সম্পন্ন হয় ।

TortoiseSVN ব্যবহার না করেও আপনি এই দরকারী খুঁজে পেতে পারেন।


3
TortoiseSVN জেনে অবাক করা একটি বিল্ট-ইন বৈশিষ্ট্য হিসাবে তুলনা করতে পারে
Nam

2
ওয়ার্ড ফাইলের সাথে এটি কি একই জিনিস?
নাম জি ভিইউ

3
আমি সবেমাত্র পরীক্ষা করেছি - এটি ওয়ার্ড ফাইলের জন্যও উপলব্ধ। দুর্দান্ত ^^
নম জি ভিইউ

এটি ভিবি কোডের জন্য কাজ করছে বলে মনে হচ্ছে না। এর জন্য কোন সমাধান?
মনপ্রীত সিংহ

10

আপনি সংস্করণ নিয়ন্ত্রণে কী চান তা সংক্ষেপে বলি এবং কেন:

  1. কি:

    • কোড (ভিবিএ)
    • স্প্রেডশিট (সূত্র)
    • স্প্রেডশিট (মান)
    • চার্ট
    • ...
  2. কেন:

    • নিরীক্ষা তথ্য
    • সহযোগিতা
    • সংস্করণ তুলনা ("পৃথক")
    • মার্জ

অন্যরা যেমন এখানে পোস্ট করেছে, বিদ্যমান সংস্করণ নিয়ন্ত্রণ সিস্টেমের শীর্ষে কয়েকটি সমাধান রয়েছে যেমন:

  • git
  • তত্পর
  • পরাভব
  • বাজার

যদি আপনার কেবলমাত্র উদ্বেগটি আপনার ওয়ার্কবুকগুলিতে ভিবিএ কোড হয় তবে উপরের ডেমোস্টেনেক্সের প্রস্তাব বা ভিবাজিট ( https://github.com/brucemcpherson/VbaGit) ) খুব ভালভাবে কাজ করে এবং এটি প্রয়োগ করা তুলনামূলক সহজ। সুবিধাগুলি হ'ল আপনি ভাল প্রমাণিত সংস্করণ নিয়ন্ত্রণ সিস্টেমের উপর নির্ভর করতে পারেন এবং আপনার প্রয়োজন অনুযায়ী একটি চয়ন করতে পারেন ( https://help.github.com/articles/ কি-are-theferences-between-svn- এবং দেখুন -গিট / গিট এবং সাবভার্সনের মধ্যে সংক্ষিপ্ত তুলনার জন্য)।

আপনি যদি কেবল কোড সম্পর্কেই নয় তবে আপনার শিটগুলিতে থাকা ডেটা সম্পর্কেও উদ্বেগ প্রকাশ করেন ("হার্ডকোডযুক্ত" মান এবং সূত্রের ফলাফল), আপনি তার জন্য অনুরূপ কৌশল ব্যবহার করতে পারেন: আপনার শীটগুলির বিষয়বস্তুকে কিছু পাঠ্য বিন্যাসে সিরিজ করুন (রেঞ্জ.ভ্যালুয়ের মাধ্যমে) এবং একটি বিদ্যমান সংস্করণ নিয়ন্ত্রণ সিস্টেম ব্যবহার করুন। এটি সম্পর্কে একটি খুব ভাল ব্লগ পোস্ট এখানে: https://wiki.ucl.ac.uk/display/~ucftpw2/2013/10/18/ ব্যবহার +git+ for+version+ নিয়ন্ত্রণ +++ স্প্রেডশীট + মডেল+ পার্ট +1 এর + 3

তবে স্প্রেডশিট তুলনা একটি তুচ্ছ তাত্পর্যপূর্ণ অ্যালগোরিদমিক সমস্যা। চারপাশে কয়েকটি সরঞ্জাম রয়েছে, যেমন মাইক্রোসফ্টের স্প্রেডশিট তুলনা ( https://support.office.com/en-us/article/Overview-of-Sreadsheet-Compare-13fafa61-62aa-451b-8674-242ce5f2c986 ), এক্সেল্ডিফ ( http://exceldiff.arstdesign.com/ ) এবং ডিফএঞ্জাইনএক্স ( https://www.florencesoft.com/compare-excel-workbooks-differences.html )। তবে গিটের মতো সংস্করণ নিয়ন্ত্রণ ব্যবস্থার সাথে এই তুলনা একীভূত করা অন্য চ্যালেঞ্জ।

অবশেষে, আপনাকে এমন কোনও ওয়ার্কফ্লোতে স্থির করতে হবে যা আপনার প্রয়োজন অনুসারে কাজ করবে। এক্সেল ওয়ার্কফ্লোর জন্য একটি সাধারণ, উপযুক্ত গিটের জন্য, https://www.xltrail.com/blog/git-workflow- for-excel দেখুন ।


2020 আপডেট: xltrail.com/git-xl আপনার পরামর্শের জন্য আপত্তিযুক্ত ওপেন সোর্স গিট এক্সটেনশন উত্পাদিত ভিবিএ উত্সের মধ্যে পৃথক পৃথক, যদিও সীমাবদ্ধ, ত্রুটি-প্রবণ আমদানি এবং রফতানি থেকে আমাকে বাঁচায়
চিঙনটচিং

9

আপনি ডেটা সম্পর্কে কথা বলছেন বা স্প্রেডশিটের মধ্যে থাকা কোডটি এটি নির্ভর করে। যদিও মাইক্রোসফ্টের ভিজ্যুয়াল সোর্সসেফের আমার কাছে তীব্র অপছন্দ রয়েছে এবং সাধারণত এটির প্রস্তাব দেওয়া হয় না, এটি অ্যাক্সেস এবং এক্সেল উভয়ের সাথে সহজেই সংহত করে এবং মডিউলগুলির উত্স নিয়ন্ত্রণ সরবরাহ করে।

[প্রকৃতপক্ষে অ্যাক্সেসের সাথে সংহতকরণে সংস্করণযুক্ত করা যেতে পারে এমন পৃথক বস্তু হিসাবে ক্যোয়ারী, প্রতিবেদন এবং মডিউল অন্তর্ভুক্ত রয়েছে]

এমএসডিএন লিঙ্কটি এখানে


4
আরও ভাল রাখা রহস্যগুলির মধ্যে একটি - আমি জানতাম না ভিএসএস এটি করতে পারে। +1
কনফারডঅফটুনব্রিজ

আমি তাও জানতাম না। তবে যাইহোক, ভিএসএস হ'ল এক গাদা..আমি এটি থেকে দূরে থাকব।
জিইউআই জ্যাঙ্কি

আমি সমস্ত উত্সাহিত হয়েছি এবং এর জন্য নেট ঘটাতে এক ঘন্টা কাটিয়েছি, তবে মনে হচ্ছে এমএস এক্সেল 2003 এ এটি সমর্থন করা বন্ধ করে দিয়েছে you're আপনার সাথে কাজ করছেন এমন অ্যাক্সেস ভিবিএ যদি আপনার ভাগ্য হতে পারে তবে আমি সন্ধান করলাম না।
ফসল 316

1
আপনি অফিস বিকাশকারী সংস্করণ অ্যাড-ইন ব্যবহার করতে সক্ষম হতে পারেন?: ব্র্যান্ডন.ফুলার.নারাম
মিচ গম

7

আমি এমন কোনও সরঞ্জাম সম্পর্কে সচেতন নই যা এটি ভাল করে তবে আমি বিভিন্ন হোমগ্রাউন সমাধান দেখেছি। এর সাধারণ থ্রেডটি হ'ল সংস্করণ নিয়ন্ত্রণের অধীনে বাইনারি ডেটা হ্রাস করা এবং প্রচলিত স্ক্যাক সিস্টেমগুলির শক্তি অর্জনের জন্য পাঠ্যগত ডেটা সর্বাধিক করা। এটা করতে:

  • অন্য কোনও অ্যাপ্লিকেশনটির মতো ওয়ার্কবুকটিও ব্যবহার করুন। যুক্তি, কনফিগারেশন এবং ডেটা আলাদা করুন।
  • ওয়ার্কবুক থেকে কোড আলাদা করুন।
  • প্রোগ্রামিয়ালি ইউআই তৈরি করুন।
  • ওয়ার্কবুকটি পুনর্গঠন করতে একটি বিল্ড স্ক্রিপ্ট লিখুন।

আপনার সমস্ত প্রয়োজনের বাইনারি অবজেক্টগুলি পরিচালনা করে এমন একটি সোর্স কন্ট্রোল হ'ল কেন এই সমস্ত বাজে কথা বলা যায়? এসভিএন এটি করতে পারে।
অজানা কোডার

15
কারণ আপনি বাইনারি অবজেক্টগুলিকে মার্জ করতে পারবেন না
igelineau

6

@ ডেমোস্টেনেক্সের কাজ, @ টিমডিয়ান এবং @ জন ক্রোয়েল অমূল্য মন্তব্যে! (তাদের +1 করুন)

আমি ওয়ার্কবুকের অবস্থানের পাশে গিট ir dir এ মডিউল ফাইলগুলি সংরক্ষণ করি। এটি আপনার পছন্দ অনুসারে পরিবর্তন করুন।

এটি ওয়ার্কবুক কোডে পরিবর্তনগুলি ট্র্যাক করবে না। সুতরাং এগুলি সিঙ্ক্রোনাইজ করা আপনার পক্ষে।

Sub SaveCodeModules()

'This code Exports all VBA modules
Dim i As Integer, name As String

With ThisWorkbook.VBProject
    For i = .VBComponents.count To 1 Step -1
        If .VBComponents(i).Type <> vbext_ct_Document Then
            If .VBComponents(i).CodeModule.CountOfLines > 0 Then
                name = .VBComponents(i).CodeModule.name
                .VBComponents(i).Export Application.ThisWorkbook.Path & _
                                            "\git\" & name & ".vba"
            End If
        End If
    Next i
End With

End Sub

Sub ImportCodeModules()
Dim i As Integer
Dim ModuleName As String

With ThisWorkbook.VBProject
    For i = .VBComponents.count To 1 Step -1

        ModuleName = .VBComponents(i).CodeModule.name

        If ModuleName <> "VersionControl" Then
            If .VBComponents(i).Type <> vbext_ct_Document Then
                .VBComponents.Remove .VBComponents(ModuleName)
                .VBComponents.Import Application.ThisWorkbook.Path & _
                                         "\git\" & ModuleName & ".vba"
            End If
        End If
    Next i
End With

End Sub

এবং তারপরে ওয়ার্কবুক মডিউলে:

Private Sub Workbook_Open()

    ImportCodeModules

End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

    SaveCodeModules

End Sub

6

@ ডেমোস্টেনেক্সের উত্তরটি আরও একধাপ এগিয়ে নিয়ে যাওয়া, আপনি যদি নিজের মাইক্রোসফ্ট এক্সেল অবজেক্টস এবং ইউজারফোর্মে কোডটি ট্র্যাক করে রাখতে চান তবে আপনাকে কিছুটা কৃপণ হতে হবে।

আমি SaveCodeModules()রফতানির পরিকল্পনা করছি এমন বিভিন্ন ধরণের কোডের জন্য অ্যাকাউন্টে আমার ফাংশনটি পরিবর্তন করেছিলাম :

Sub SaveCodeModules(dir As String)

'This code Exports all VBA modules
Dim moduleName As String
Dim vbaType As Integer

With ThisWorkbook.VBProject
    For i = 1 To .VBComponents.count
        If .VBComponents(i).CodeModule.CountOfLines > 0 Then
            moduleName = .VBComponents(i).CodeModule.Name
            vbaType = .VBComponents(i).Type

            If vbaType = 1 Then
                .VBComponents(i).Export dir & moduleName & ".vba"
            ElseIf vbaType = 3 Then
                .VBComponents(i).Export dir & moduleName & ".frm"
            ElseIf vbaType = 100 Then
                .VBComponents(i).Export dir & moduleName & ".cls"
            End If

        End If
    Next i
End With

End Sub

ইউজারফর্মগুলি ভিবিএ কোডের মতোই রফতানি এবং আমদানি করা যায়। পার্থক্যটি হ'ল দুটি ফর্ম তৈরি করা হবে যখন কোনও ফর্ম রফতানি করা হয় (আপনি একটি .frmএবং একটি পাবেন.frx প্রতিটি ইউজারফর্মের জন্য ফাইল পাবেন)। এর মধ্যে একটি আপনার লেখা সফ্টওয়্যার ধারণ করে এবং অন্যটি একটি বাইনারি ফাইল যা (আমি বেশ নিশ্চিত) ফর্মের বিন্যাসটি সংজ্ঞায়িত করে।

মাইক্রোসফ্ট এক্সেল অবজেক্টস (এমইও) (অর্থ Sheet1 , Sheet2, ThisWorkbookইত্যাদি) একটি রূপে এক্সপোর্ট করা যাবে.cls ফাইল। যাইহোক, আপনি যখন এই কোডটি আপনার ওয়ার্কবুকটিতে ফিরে পেতে চান, আপনি যদি ভিবিএ মডিউলটির মতো একইভাবে এটি আমদানির চেষ্টা করেন, তবে শীটটি ইতিমধ্যে ওয়ার্কবুকটিতে উপস্থিত থাকলে আপনি একটি ত্রুটি পাবেন।

এই সমস্যাটি সম্পর্কে জানার জন্য, আমি সিদ্ধান্ত নিয়েছি যে এক্সেলগুলিতে .cls ফাইলটি আমদানির চেষ্টা না করে বরং তার .clsপরিবর্তে একটি স্ট্রিং হিসাবে ফাইলটি এক্সেলে পড়তে হবে, তারপরে এই স্ট্রিংটি ফাঁকা এমইওতে আটকে দিন। এখানে আমার আমদানি কোড কোড রয়েছে:

Sub ImportCodeModules(dir As String)

Dim modList(0 To 0) As String
Dim vbaType As Integer

' delete all forms, modules, and code in MEOs
With ThisWorkbook.VBProject
    For Each comp In .VBComponents

        moduleName = comp.CodeModule.Name

        vbaType = .VBComponents(moduleName).Type

        If moduleName <> "DevTools" Then
            If vbaType = 1 Or _
                vbaType = 3 Then

                .VBComponents.Remove .VBComponents(moduleName)

            ElseIf vbaType = 100 Then

                ' we can't simply delete these objects, so instead we empty them
                .VBComponents(moduleName).CodeModule.DeleteLines 1, .VBComponents(moduleName).CodeModule.CountOfLines

            End If
        End If
    Next comp
End With

' make a list of files in the target directory
Set FSO = CreateObject("Scripting.FileSystemObject")
Set dirContents = FSO.getfolder(dir) ' figure out what is in the directory we're importing

' import modules, forms, and MEO code back into workbook
With ThisWorkbook.VBProject
    For Each moduleName In dirContents.Files

        ' I don't want to import the module this script is in
        If moduleName.Name <> "DevTools.vba" Then

            ' if the current code is a module or form
            If Right(moduleName.Name, 4) = ".vba" Or _
                Right(moduleName.Name, 4) = ".frm" Then

                ' just import it normally
                .VBComponents.Import dir & moduleName.Name

            ' if the current code is a microsoft excel object
            ElseIf Right(moduleName.Name, 4) = ".cls" Then
                Dim count As Integer
                Dim fullmoduleString As String
                Open moduleName.Path For Input As #1

                count = 0              ' count which line we're on
                fullmoduleString = ""  ' build the string we want to put into the MEO
                Do Until EOF(1)        ' loop through all the lines in the file

                    Line Input #1, moduleString  ' the current line is moduleString
                    If count > 8 Then            ' skip the junk at the top of the file

                        ' append the current line `to the string we'll insert into the MEO
                        fullmoduleString = fullmoduleString & moduleString & vbNewLine

                    End If
                    count = count + 1
                Loop

                ' insert the lines into the MEO
                .VBComponents(Replace(moduleName.Name, ".cls", "")).CodeModule.InsertLines .VBComponents(Replace(moduleName.Name, ".cls", "")).CodeModule.CountOfLines + 1, fullmoduleString

                Close #1

            End If
        End If

    Next moduleName
End With

End Sub

আপনি যদি dirএই দুটি ফাংশনের ইনপুট দ্বারা বিভ্রান্ত হন তবে এটি আপনার কোড ভান্ডার মাত্র! সুতরাং, আপনি এই ফাংশনগুলিকে কল করতে চাইবেন:

SaveCodeModules "C:\...\YourDirectory\Project\source\"
ImportCodeModules "C:\...\YourDirectory\Project\source\"

একটি দ্রুত নোট: বাইনারি ফাইলগুলির কারণে ইউজারফোর্ডগুলির সাথে সত্যিকারের সংস্করণ নিয়ন্ত্রণ করার কোনও ভাগ্য আমার হয়নি। আপনি যদি আপনার গিট রেপোতে একাধিক শাখা তৈরি করেন তবে আপনি ইউজারফর্মের সাথে কাজ করলে আপনি সেগুলি মার্জ করতে অক্ষম হতে পারেন
dslosky

5

আমি গিট ব্যবহার করি এবং আজ আমি পাইথনকে এই (git-xlsx-textconv) পোর্ট করেছি , যেহেতু আমার প্রকল্প পাইথন কোডের উপর ভিত্তি করে এবং এটি এক্সেল ফাইলগুলির সাথে ইন্টারেক্ট করে। এটি কমপক্ষে .xlsx ফাইলের জন্য কাজ করে তবে আমি মনে করি এটি .xls এর জন্যও কাজ করবে । এখানে গিথুব লিঙ্ক। আমি দুটি সংস্করণ লিখেছি, যার প্রতিটি লাইনের নিজস্ব লাইনে রয়েছে, এবং অন্যটি যেখানে প্রতিটি ঘর নিজস্ব লাইনে রয়েছে (পরবর্তীটি লিখিত ছিল কারণ গিট ডিফ ডিফল্টরূপে লম্বা লাইনগুলি আবদ্ধ করতে পছন্দ করে না, কমপক্ষে এখানে উইন্ডোজটিতে)।

এটি আমার .gitconfig ফাইল (এটি পৃথক স্ক্রিপ্টটি আমার প্রকল্পের রেপোতে থাকতে দেয়):

[diff "xlsx"]
    binary = true
    textconv = python `git rev-parse --show-toplevel`/src/util/git-xlsx-textconv.py

যদি আপনি চান যে স্ক্রিপ্টটি বিভিন্ন বিভিন্ন রেপোর জন্য উপলভ্য হয়, তবে এর মতো কিছু ব্যবহার করুন:

[diff "xlsx"]
    binary = true
    textconv = python C:/Python27/Scripts/git-xlsx-textconv.py

আমার .gitattributes ফাইল:

*.xlsx diff=xlsx

3

আপনি যা করতে পারেন তা হ'ল আপনার ওয়ার্কবুকে নিম্নলিখিত স্নিপেট থাকা:

Sub SaveCodeModules()

'This code Exports all VBA modules
Dim i%, sName$

    With ThisWorkbook.VBProject
        For i% = 1 To .VBComponents.Count
            If .VBComponents(i%).CodeModule.CountOfLines > 0 Then
                sName$ = .VBComponents(i%).CodeModule.Name
                .VBComponents(i%).Export "C:\Code\" & sName$ & ".vba"
            End If
        Next i
    End With
End Sub

আমি এই স্নিপেটটি ইন্টারনেটে পেয়েছি।

এরপরে, আপনি সংস্করণ নিয়ন্ত্রণ বজায় রাখতে সাবভারশন ব্যবহার করতে পারেন। উদাহরণস্বরূপ, ভিবিএর মধ্যে 'শেল' কমান্ড সহ সাবভার্সনের কমান্ড লাইন ইন্টারফেস ব্যবহার করে। এটা এটা করতে হবে। এমনকি আমি নিজে এটি করার কথা ভাবছি :)


আমি মনে করি এটি একটি দুর্দান্ত পদ্ধতি। এক্সেল কোডের সোর্স নিয়ন্ত্রণটি কেবল পচে যাওয়ার সাথেই ঘটতে পারে। এটি একটি বিল্ড পদ্ধতিরও অনুমান করবে। কোড ক্লিনার উদাহরণস্বরূপ এটি করতে পারে (আমি বিশ্বাস করি ফ্রিওয়্যার) অ্যাপস্প্রো / ইউটিলিটিস / কোডক্লিয়েনার htm তবে সমানভাবে আপনার কোড সমতুল্য।
বহুগ্লাট

আমি ম্যাক্স 2011 সংস্করণ 14.4.1 এর জন্য মাইক্রোসফ্ট® এক্সেল® ব্যবহার করে এটি পরিবর্তন করার চেষ্টা করেছি। যে লাইনটি রফতানির পদ্ধতিটিকে চুপচাপ বলে ডাকে তা কিছুই করে না (আমি ব্যবহৃত সুনির্দিষ্ট ওএস এক্স ডিরেক্টরি নির্বিশেষে)।
ডিএ ভিনসেন্ট


2

আপনি যদি নিয়মিত অফিস অ প্রযুক্তিগত ব্যবহারকারীদের সাথে শেয়ারপয়েন্টের চেয়ে অফিসের সেটিংয়ের দিকে তাকিয়ে থাকেন তবে এটি একটি কার্যকর বিকল্প। আপনি সংস্করণ নিয়ন্ত্রণ সক্ষম এবং চেকইন এবং চেকআউট সহ ডকুমেন্ট ফোল্ডারগুলি সেটআপ করতে পারেন। নিয়মিত অফিস ব্যবহারকারীদের জন্য এটিকে ফ্রিল্যান্ডিলার করে তোলে।


2

ম্যাটল্যান্টের জবাবের প্রতিক্রিয়া হিসাবে - দস্তাবেজ লাইব্রেরিতে সংস্করণ নিয়ন্ত্রণ বৈশিষ্ট্যটি চালু করা থাকলেই শেয়ারপয়েন্টটি সংস্করণ নিয়ন্ত্রণ হিসাবে কাজ করবে। এ ছাড়াও সচেতন থাকুন যে কোনও কোড যা সম্পর্কিত ফাইল দ্বারা অন্য ফাইলগুলিকে কল করে তা কাজ করে না। এবং অবশেষে বাহ্যিক ফাইলগুলির যে কোনও লিঙ্ক ভাঙবে যখন কোনও ফাইল শেয়ারপয়েন্টে সংরক্ষণ করা হবে।


1

এসভিএন বা সিভিএসের মতো স্ট্যান্ডার্ড সংস্করণ নিয়ন্ত্রণ সরঞ্জামগুলির কোনও ব্যবহার করুন। সীমাবদ্ধতা উদ্দেশ্য কী উপর নির্ভর করে। সংগ্রহস্থলের আকারে সামান্য বৃদ্ধি ছাড়াও আমি কোনও সমস্যার মুখোমুখি হইনি


1

আপনার ডিফেনজিনএক্স চেষ্টা করা উচিত। এটিকে প্রোগ্রামগতভাবে এবং কমান্ড লাইন আর্গুমেন্ট গ্রহণ কমান্ড লাইন থেকেও বলা যেতে পারে। এটি কেবল এক্সেল স্প্রেডশিট সেলগুলিই তুলনা করে না, তবে ওয়ার্কবুকগুলিতে এমবেড করা ভিজ্যুয়াল বেসিক ম্যাক্রোগুলিও। এছাড়াও এক্সেল সংজ্ঞায়িত নাম এবং মন্তব্যগুলির সাথে তুলনা করে, যা অনেকগুলি ফ্রিওয়্যার সরঞ্জাম মিস করে। এটি ডাউনলোড করা যায়

http://www.florencesoft.com/excel-differences-download.html

আমি নিশ্চিত যে আপনার সংস্করণ নিয়ন্ত্রণ সিস্টেমের একটি বিকল্প বা বাক্স রয়েছে যাতে আপনি স্বয়ংক্রিয়ভাবে আপনার আসল এবং সংশোধিত এক্সেল ওয়ার্কবুকের সাহায্যে ডিফএঞ্জিনএক্স কল করতে পারেন।


12
আপনার উত্তরে আপনার উল্লেখ করা উচিত যে আপনি এই বাণিজ্যিক পণ্যের সাথে যুক্ত।
হান্স ওলসন

1

আমি এটিও খতিয়ে দেখছি। এটি প্রকাশিত হয় যে সর্বশেষতম টিম ফাউন্ডেশন সার্ভার 2010 এর একটি এক্সেল অ্যাড-ইন থাকতে পারে।

এখানে একটি সূত্র রয়েছে:

http://team-foundation-server.blogspot.com/2009/07/tf84037-there-was-problem-initializing.html


টিএফএস এতে আইটেম রিপোর্টিংয়ের জন্য এক্সেলের ভারী ব্যবহার করে, দুর্ভাগ্যক্রমে এটি এক্সেল ফাইলগুলিকে উত্স নিয়ন্ত্রণে আনার সাথে সম্পর্কিত নয়।
ব্র্যাড আর

1

যুগে যুগে অনুসন্ধান এবং বিভিন্ন সরঞ্জাম চেষ্টা করার পরে, আমি এখানে আমার ভিবিএ সংস্করণ নিয়ন্ত্রণ সমস্যার উত্তর খুঁজে পেয়েছি: https://stackoverflow.com/a/25984759/2780179

এটি একটি সাধারণ এক্সেল অ্যাডিন যার জন্য কোডটি এখানে পাওয়া যাবে

আমদানির পরে কোনও সদৃশ মডিউল নেই। এটি কোনও বিদ্যমান ওয়ার্কবুকগুলি সংশোধন না করে আপনার ওয়ার্কবুকটি সংরক্ষণ করার সাথে সাথে আপনার কোডটি স্বয়ংক্রিয়ভাবে রফতানি করে । এটি একটি ভিবিএ কোড ফর্ম্যাটারের সাথে একসাথে আসে।


1

প্রকৃতপক্ষে ম্যাক্রো কোডের পরিবর্তনগুলি ট্র্যাক এবং তুলনা করার জন্য কেবলমাত্র কয়েকটি মুদ্রিত সমাধান রয়েছে - এদের বেশিরভাগের নাম এখানে ইতিমধ্যে ছিল were আমি ওয়েবটি ব্রাউজ করছি এবং এই নতুন সরঞ্জামটি উল্লেখ করার মতো করে এসেছি:

ভিবিএ ম্যাক্রোগুলির জন্য এক্সএলটিউলস সংস্করণ নিয়ন্ত্রণ

  • এক্সেল শীট এবং ভিবিএ মডিউলগুলির জন্য সংস্করণ নিয়ন্ত্রণ
  • সংস্করণ করার পূর্বে পূর্বরূপ এবং বিভিন্ন পরিবর্তন
  • একই ফাইলে বেশ কয়েকটি ব্যবহারকারীর সহযোগী কাজের জন্য দুর্দান্ত (ট্র্যাক কারা কখন / কখন / মন্তব্য পরিবর্তন করেছে)
  • সংস্করণগুলি তুলনা করুন এবং কোড লাইন বাই লাইনে পরিবর্তনগুলি হাইলাইট করুন
  • প্রযুক্তি-বুদ্ধিহীন, বা সেই বিষয়ে এক্সেল-বুদ্ধিহীন ব্যবহারকারীদের জন্য উপযুক্ত
  • সংস্করণ ইতিহাস আপনার নিজের পিসিতে গিট-সংগ্রহস্থলে সংরক্ষণ করা হয় - যে কোনও সংস্করণ সহজেই পুনরুদ্ধার করা যায়

পাশাপাশি ভিবিএ কোড সংস্করণ, পরিবর্তনগুলি ভিজ্যুয়ালাইজ করা হয়


0

আপনি সংস্করণ নিয়ন্ত্রণের জন্য জিপ পাত্রে (.xlsx এবং .xslm) মাইক্রোসফ্টের এক্সেল এক্সএমএল ব্যবহার করার চেষ্টা করেছেন এবং খুঁজে পেয়েছেন যে ভিবিএ ভিবাপ্রজেক্ট.বিনে সংরক্ষণ করা হয়েছে (যা সংস্করণ নিয়ন্ত্রণের জন্য অকেজো)।

সমাধান সহজ।

  1. LibreOffice ক্যালক দিয়ে এক্সেল ফাইলটি খুলুন
  2. LibreOffice ক্যাল্কে
    1. ফাইল
    2. সংরক্ষণ করুন
    3. প্রকার হিসাবে সংরক্ষণ করুন: ওডিএফ স্প্রেডশিট (.ods)
  3. LibreOffice ক্যালক বন্ধ করুন
  4. .ods থেকে .zip এ নতুন ফাইলটির ফাইলের এক্সটেনশনের নামকরণ করুন
  5. জিআইটি রক্ষণাবেক্ষণ অঞ্চলে স্প্রেডশিটের জন্য একটি ফোল্ডার তৈরি করুন
  6. জিআইপি ফোল্ডারে জিপটি বের করুন
  7. জিআইটি প্রতিশ্রুতিবদ্ধ

আপনি যখন স্প্রেডশিটের পরবর্তী সংস্করণটির সাথে এটি পুনরাবৃত্তি করবেন তখন আপনাকে নিশ্চিত করতে হবে যে আপনি ফোল্ডারের ফাইলগুলি জিপ ধারকটির সাথে ঠিক মেলে (এবং কোনও মুছে ফেলা ফাইলগুলি পিছনে ফেলে রাখবেন না)।


2
যদিও এই পদ্ধতির ঝুঁকি পূর্ণ। আপনি যদি পরবর্তীকালে এক্সেলের কোনও বৈশিষ্ট্য ব্যবহার করেন যা হয় হয় লিবারে প্রয়োগ করা হয় না যা লিবারে "মানচিত্র" না দেয় এবং সঠিকভাবে ফিরে আসে, এই পদ্ধতির অবনতি ঘটবে। এটি সাধারণ স্প্রেডশিটের জন্য আমি নিশ্চিত, তবে কাজ করবে তবে চূড়ান্ত যত্ন নেওয়া উচিত। পিডব্লিউ
ফিল হুইটিংটন

0

বিয়ন্ড কম্পেয়ার নামে একটি প্রোগ্রাম রয়েছে যাতে খুব সুন্দর এক্সেলের ফাইলের তুলনা রয়েছে। আমি চাইনিজ ভাষায় একটি স্ক্রিনশট পেয়েছি যা সংক্ষেপে এটি দেখায়:

তুলনার বাইরে - দুটি এক্সেল ফাইলের তুলনায় (চীনা)
মূল চিত্র উত্স

তাদের পৃষ্ঠায় একটি 30 দিনের বিচার রয়েছে


0

আমি এই প্রশ্নের একটি খুব সহজ সমাধান পেয়েছি যা আমার চাহিদা পূরণ করে। আমি আমার সমস্ত ম্যাক্রোগুলির নীচে একটি লাইন যুক্ত করেছি যা *.txtপ্রতিবার চালানোর সময় পুরো ম্যাক্রো কোড সহ একটি ফাইল রফতানি করে । কোড:

ActiveWorkbook.VBProject.VBComponents("moduleName").Export"C:\Path\To\Spreadsheet\moduleName.txt"

( টমের টিউটোরিয়ালগুলিতে পাওয়া গেছে , যা আপনাকে এই কাজটি করার জন্য প্রয়োজন হতে পারে এমন কয়েকটি সেটআপও কভার করে))

যেহেতু আমি কোডটিতে কাজ করছি যখনই আমি সর্বদা ম্যাক্রোটি চালাব, আমি গ্যারান্টিযুক্ত যে গিটটি পরিবর্তনগুলি গ্রহণ করবে। একমাত্র বিরক্তিকর অংশটি হ'ল যদি আমার পূর্ববর্তী সংস্করণটি চেকআউট করতে হয় তবে আমাকে নিজে থেকে *.txtস্প্রেডশিটে কপি / পেস্ট করতে হবে।


-1

এটি আপনি কোন স্তরের ইন্টিগ্রেশন চান তা নির্ভর করে, আমি সাবভারশন / কচ্ছপ এসভিএন ব্যবহার করেছি যা সাধারণ ব্যবহারের জন্য সূক্ষ্ম বলে মনে হচ্ছে। আমি কীওয়ার্ডগুলিতেও যুক্ত করেছি তবে ফাইল দুর্নীতির ঝুঁকি রয়েছে বলে মনে হয়। কীওয়ার্ডের বিকল্পগুলি স্থির দৈর্ঘ্য তৈরি করার জন্য সাবভারশনে একটি বিকল্প রয়েছে এবং আমি যতদূর বুঝতে পারি এটি স্থির দৈর্ঘ্যটি সমান হলেও বিজোড় না হলেও এটি কাজ করবে। যে কোনও ক্ষেত্রে আপনি কোনও কার্যকর ধরণের পার্থক্য কার্যকারিতা পাবেন না, আমার মনে হয় এমন বাণিজ্যিক পণ্য রয়েছে যা 'ডিফ' করবে। স্টাফকে সরল পাঠ্যে রূপান্তর করার এবং তার তুলনার উপর ভিত্তি করে আমি এমন কিছু খুঁজে পেয়েছি যা খুব ভাল ছিল না।


-1

এটি বেশিরভাগ ভিসিএসের সাথে কাজ করা উচিত (অন্যান্য মানদণ্ডের উপর নির্ভর করে আপনি এসভিএন, সিভিএস, ডার্কস, টিএফএস, ইত্যাদি চয়ন করতে পারেন) তবে এটি আসলে সম্পূর্ণ ফাইলটি হবে (কারণ এটি একটি বাইনারি ফর্ম্যাট), যার অর্থ "কী পরিবর্তন হয়েছে" প্রশ্নটি উত্তর দেওয়া এত সহজ নয়।

লগ বার্তাগুলি যদি তারা সম্পূর্ণ করে তবে আপনি নির্ভর করতে পারেন , তবে আরও কিছু দৃশ্যমানতা অর্জনের জন্য আপনি অফিস 2007 থেকে নতুন এক্সএমএল ভিত্তিক ফর্ম্যাটগুলি চেষ্টা করে দেখতে পারেন (যদিও এটি এখনও এক্সএমএল টন দিয়ে আগাছা করা শক্ত হবে, এবং এক্সএএমএল ফাইল AFAIK ডিস্কে জিপ করা থাকে, সুতরাং পাঠ্য বিচিত্রভাবে সঠিকভাবে কাজ করার জন্য এটি আনজিপ করার জন্য আপনার প্রাক-কমিট হুক লাগবে)।


-1

আমি ভিবিএ ব্যবহার করে একটি সংশোধন নিয়ন্ত্রিত স্প্রেডশিট লিখেছিলাম। ইঞ্জিনিয়ারিং রিপোর্টগুলির জন্য এটি আরও তত্পর হয় যেখানে আপনার বিলে অফ ম্যাটারিয়াল বা তফসিলে একাধিক লোক কাজ করে এবং তারপরে কিছু সময় আপনি একটি স্ন্যাপশট পুনর্বিবেচনা তৈরি করতে চান যা পূর্ববর্তী রেভ থেকে যোগ, ডেল এবং আপডেটগুলি দেখায়।

দ্রষ্টব্য: এটি একটি ম্যাক্রো সক্ষম ওয়ার্কবুক যা আপনাকে আমার সাইট থেকে ডাউনলোড করতে সাইন ইন করতে হবে (আপনি ওপেনআইডি ব্যবহার করতে পারেন)

সমস্ত কোড আনলক করা আছে।

রেভ নিয়ন্ত্রণ স্প্রেডশিট


-1

আমার সংস্থা মাইক্রোসফ্ট অফিস সমাধানগুলি স্বয়ংক্রিয়করণে যথেষ্ট পরিমাণে কাজ করে তাই আমি একটি .DLL লিখেছিলাম যা প্রতিবার কোনও টেমপ্লেট সংরক্ষণ করার পরে সমাধানের উত্স রফতানি করে। এটি ফোল্ডারের শিশু হিসাবে সোর্স নামে একটি ফোল্ডার তৈরি করে যেখানে টেমপ্লেটটি সংরক্ষণ করা হয় এবং উত্সের নীচে এটি ভিবিএ প্রকল্পের মতো একই নামে একটি ফোল্ডার তৈরি করে। প্রকল্প ফোল্ডারে এটি মডিউল, শ্রেণি এবং ব্যবহারকারী ফর্মগুলির জন্য উত্স কোডের সমস্ত রফতানি করে। টেমপ্লেটগুলির বৃহত সংগ্রহের জন্য উত্সটি পরিচালনা করা সহজ করার জন্য এই ব্যবস্থাটি বেছে নেওয়া হয়েছিল। আপনার কাছে স্থানীয় কনফিগারেশন ফাইল বা কোনও বৈশ্বিক কনফিগারেশন ফাইল উপলব্ধ থাকলে ডিবিএল ভিবিএ প্রকল্পটিতে অ্যাক্সেস পেতে লক করা প্রকল্পগুলি আনলক করতে সক্ষম। এই সরঞ্জামটি ব্যবহারে, বিকাশকারীরা তাদের হৃদয়ের সামগ্রীগুলিতে টেমপ্লেটগুলিতে কাজ করতে পারেন এবং তাদের কাজ পরিচালনা করতে তাদের পছন্দসই পুনর্বিবেচনা নিয়ন্ত্রণ সরঞ্জামটি ব্যবহার করতে পারেন।


চাদ - আমি এই পোস্টটি পড়ার পরামর্শ দিচ্ছি, যার মধ্যে আমাকে সম্প্রতি সচেতন করা হয়েছিল: stackoverflow.com/help/promotion । আপনার উত্তরটি "বলুন না - দেখান" লঙ্ঘন করে বলে মনে হচ্ছে! নীতিমালা.আপনি আপনার সংস্থা এবং আপনি যে সমাধান নিয়ে এসেছেন সে সম্পর্কে কথা বলুন এবং একটি ডিএলএল-এর জন্য অনেকগুলি উল্লেখ করেছেন, তবে আপনি কীভাবে এটি করেছিলেন বা ডিএলএলকে অ্যাক্সেস সরবরাহ করেছেন তা আপনি আমাদের দেখান না। এই হিসাবে, এই উত্তরটি এই ওয়েবসাইটটির মূল বিষয় নয়।
কলম্ব ভান্ডাল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.